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

and*_*szs 1 linux find rename

我使用下面的命令将所有文件(非递归),在截至移动_128.jpg128X160子目录。这很好用。

find . -iname '*_128.jpg' | xargs -I '{}' mv {} 128x160
Run Code Online (Sandbox Code Playgroud)

但我还需要从每个文件中删除_128后缀。另外,我必须保留我当前的xargs方法,为每个方法创建一个exec会使这个过程变得非常长。

预先感谢您的合作!

kri*_*sFR 5

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

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

在这里,我使用了多命令方法 usingsh -c 'command1; command2'sedclear_128在文件名中。