在文件命令中更改文件扩展名

时间:2016-12-07 13:56:22

标签: linux unix find zip

我使用以下命令查找文件,将其压缩并删除原始文件:

find data/* -type f -execdir zip '{}'.zip '{}' \; -delete

目前,如果找到名为“something.txt”的文件,则会创建名为“something.txt.zip”的zip文件。如何将文件名设为“something.zip”?

我知道在bash中我可以做类似$ {x:。*}的事情,但我似乎无法在这里工作。

1 个答案:

答案 0 :(得分:0)

这似乎有效,但有点软糊一地:

find data/* -execdir bash -c 'zip -j "${1%.*}.zip" "${1}"' _ {} \;

我希望看到更清洁的东西。