[root@lnmp02-svr tmp]# find ./ -type f -name "*finished*"|sed -r 's#(^.*)_finished(.*$)#mv & 12#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 & 12#g'|bash
这是一道考题,批量修改文件名称。里面用了正则匹配。
find ./ -type f -name "*finished*"|sed -r 's#(^.*)_finished(.*$)#mv & 12#g'
查找 当前目录 类型是文件 名字里包含*finished* sed显示出 #后的&代表匹配当前整个内容 ,1前面小括号 ,2后面小括号