查找和重命名文件删除后缀

我正在使用以下命令将所有以_128.jpg结尾的文件(非recursion) 移动128×160子目录中 。 这很好。

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

但是我也需要从每个文件中删除_128后缀。 另外,我必须保留我当前的xargs方法,为每个方法创build一个exec将使这个过程更长。

预先感谢您的合作!

像这样的事情应该做的伎俩:

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

这里我使用了sh -c 'command1; command2' sh -c 'command1; command2'sed清除文件名中的_128