Linux
查找和重命名文件刪除後綴
我正在使用以下命令將所有以_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
文件名。