[英]unexpected token '.' when executing a shell command when changing file extension within groovy script
[英]Changing file extension within the file command
我正在使用以下命令来查找文件,将其压缩并删除原始文件:
find data/* -type f -execdir zip '{}'.zip '{}' \; -delete
目前,如果找到名为“ something.txt”的文件,则会创建一个名为“ something.txt.zip”的zip文件。 如何将文件名改为“ something.zip”?
我知道在bash中我可以执行类似$ {x:。*}的操作,但是我似乎无法在此工作。
这似乎可行,但这有点不合理:
find data/* -execdir bash -c 'zip -j "${1%.*}.zip" "${1}"' _ {} \;
我希望看到更清洁的东西。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.