[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後面小括号