Linux

查找和重命名文件刪除後綴

  • February 9, 2014

我正在使用以下命令將所有以_128.jpg結尾的文件(非遞歸)移動到128x160 子目錄中。這很好用。

find . -iname '*_128.jpg' | xargs -I '{}' mv {} 128x160

但我還需要從每個文件中刪除**_128後綴。另外,我必須保留我目前的xargs方法,為每個方法創建一個exec**會使過程變得非常長。

提前感謝您的合作!

像這樣的東西應該​​可以解決問題:

find . -iname '*_128.jpg' | xargs -I % sh -c 'newname=$(echo % | sed "s/_128//"); mv % 128x160/$newname'

在這裡,我使用了多命令方法,使用sh -c 'command1; command2'sed清除_128文件名。

引用自:https://serverfault.com/questions/574302