天天看點

批量修改檔案

[root@lnmp02-svr tmp]# find ./ -type f -name "*finished*"|sed -r 's#(^.*)_finished(.*$)#mv & \1\2#g'

mv ./stu_102999_5_finished.jpg ./stu_102999_5.jpg

mv ./stu_102999_4_finished.jpg ./stu_102999_4.jpg

mv ./stu_102999_3_finished.jpg ./stu_102999_3.jpg

mv ./stu_102999_1_finished.jpg ./stu_102999_1.jpg

mv ./stu_102999_2_finished.jpg ./stu_102999_2.jpg

[root@lnmp02-svr tmp]# find ./ -type f -name "*finished*"|sed -r 's#(^.*)_finished(.*$)#mv & \1\2#g'|bash

這是一道考題,批量修改檔案名稱。裡面用了正則比對。

find ./ -type f -name "*finished*"|sed -r 's#(^.*)_finished(.*$)#mv & \1\2#g'

查找  目前目錄 類型是檔案 名字裡包含*finished* sed顯示出 #後的&代表比對目前整個内容 ,\1前面小括号  ,\2後面小括号

繼續閱讀