用+代替\;在find -exec中

时间:2017-03-02 14:37:02

标签: bash find exec

我明白用+而不是\;在带有-exec的find命令中,可以加快速度,因为\; -exec的目标对于find命令的每个结果执行一次,而使用+,-exec的目标“根据需要”执行。

此代码按预期工作并处理所有子目录:

find "${directory}" -iname "*.jpg" -type d -prune -exec bash -c 'myscript "{}"' \;

但是这段代码不起作用:

find "${directory}" -iname "*.jpg" -type d -prune -exec bash -c 'myscript "$@"' bash {} +

它只处理一个目录而不是所有目录。

我显然在调用函数时忽略了使用+的正确语法。

0 个答案:

没有答案