我有一个目录有子目录包含图像文件与错误的名称,如像filename.jpg.jpg我想用这个代替这个recursiveley filename.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
格式的文件。
有关更多信息,请阅读手册页。