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

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

我正在使用以下命令移动所有以 结尾的文件(非递归)_128.jpg进入128x160subdir。效果很好。

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

但我还需要删除_128每个文件的后缀。此外,我必须保留当前的参数方法,制作执行每一个都会使这个过程变得非常漫长。

提前感谢您的合作!

答案1

像这样的事情应该可以解决问题:

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

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

相关内容