[英]bash scripting - trouble renaming files in subdirectories using find / rename
我有大量的目录和子目录,其中包含许多jpg。 我需要做两件事:
我尝试按顺序运行以下命令:
//这将为找到的每个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/' {} \;
但是第二条命令似乎无效,有人可以解释我在做什么错吗?
谢谢阿迪
要重命名文件,只需使用这种方式即可rename ".jpg_m" "_m.jpg" files_to_rename
因此,如果要复制和重命名,则可以通过以下方式重命名:
find . -name "*.jpg_m" -execdir rename ".jpg_m" "_m.jpg" {} \;
您为什么不一口气做到呢?
find . -name '*.jpg' -exec cp {} m_{} \; -exec rename "m_" "" {} \;
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.