意外令牌附近的语法错误`('使用转换

时间:2017-11-28 09:52:18

标签: terminal find

我试图在某些图片上运行convert命令来调整它们的大小。

find build_reports/functional_tests/results -name '*.png' | xargs -I {} sh -c 'convert -resize 20% {} {}'

我遇到的问题是文件中有(和)名称(例如build_reports / functional_tests / results / Attachments /主屏幕截图(ID 1)_1_0FEF8183-AF87-4517-928D-8C4A2ED984D0.png)和我无法重命名这些文件,因为它们已在其他地方链接。

当我运行命令时,我收到以下警告并且图像没有调整大小

sh: -c: line 0: syntax error near unexpected token `('
sh: -c: line 0: `convert -resize 20% build_reports/functional_tests/results/Attachments/Screenshot of main screen (ID 1)_1_D94BAEBC-F463-4EEE-8FAE-C49AFF4A8FFE.png {}'

无论如何都要摆脱这些警告并通过某种方式逃避查找命令的结果使其工作?

1 个答案:

答案 0 :(得分:1)

尝试一下:

find . -iname "*.png" -exec convert -resize 20% '{}' '{}' \;

请注意单引号'{}'