[英]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.