我有一大堆目录和子目录,其中包含许多jpgs。我需要做两件事:
我尝试按顺序运行以下命令:
//这会创建一个找到的每个jpg的副本,并将'_m'附加到它的末尾
find . -name '*.jpg' -execdir cp {} {}_m \;
//现在再次使用'jpg_m'找到所有内容并将其重命名为filename_m.jpg
find . -name '*.jpg_m' -execdir rename -v 's/\.jpg_m/_m\.jpg/' {} \;
然而第二个命令似乎没有用,有人可以解释一下我做错了什么吗?
谢谢, 阿迪
答案 0 :(得分:0)
要重命名文件,您可以这样简单地使用它
rename ".jpg_m" "_m.jpg" files_to_rename
因此,如果要复制和重命名,可以这样重命名:
find . -name "*.jpg_m" -execdir rename ".jpg_m" "_m.jpg" {} \;
答案 1 :(得分:0)
为什么不一次性完成?
find . -name '*.jpg' -exec cp {} m_{} \; -exec rename "m_" "" {} \;