bash:-exec in find命令和&

时间:2013-11-22 14:00:15

标签: bash find

我想跑:

./my_script.py a_file &

...当前文件夹中以.my_format结尾的所有文件,所以我这样做:

find . -type f -name "*.my_format" -exec ./my_script {} & \;

但它不起作用。我应该如何在&参数中加入-exec

2 个答案:

答案 0 :(得分:11)

试试这个:

$ find . -type f -name "*.my_format" -exec sh -c './my_script {} &' \;

您尝试不起作用的最可能原因是因为find使用exec(3)标准c库调用系列之一来执行命令,这些调用不了解作业控制 - {{1符号。 shell确实理解"在后台运行此命令"因此&调用

答案 1 :(得分:4)

尝试使用此命令:

find . -type f -name "*.my_format" -exec bash -c './my_script "$1" &' - '{}' \;