我有一个目录,其中包含包含错误名称(如文件名)的图像文件的子目录.jpg.jpg我想用文件名替换这个递归.jpg我试过:
find ./ -type f -exec sed -i 's/string1/string2/g' {} ;
或
sed -i 's/foo/bar/g' *
但没有一个有效
谢谢
find ./ -iname "*.jpg.jpg" -exec rename .jpg.jpg .jpg '{}' ;
如果你有一个使用 perl 正则表达式的rename
实用程序,那么使用以下命令:
find ./ -iname "*.jpg.jpg" -exec rename 's/.jpg.jpg$/.jpg/' '{}' ;
也许您可以使用内置的rename
命令。
rename 's/.jpg.jpg$/.jpg/' *.jpg.jpg
第一个参数是一个正则表达式,它将匹配以 .jpg.jpg
结尾的文件名并替换为 .jpg
。第二个参数将在当前目录中查找.jpg.jpg
格式的文件。
有关详细信息,请阅读手册页。