bash:-exec in find命令和&

Ric*_*son 9 bash find

我想跑:

./my_script.py a_file &
Run Code Online (Sandbox Code Playgroud)

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

find . -type f -name "*.my_format" -exec ./my_script {} & \;
Run Code Online (Sandbox Code Playgroud)

但它不起作用.我应该如何包含&-exec参数中?

hol*_*eek 12

试试这个:

$ find . -type f -name "*.my_format" -exec sh -c './my_script {} &' \;
Run Code Online (Sandbox Code Playgroud)

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


anu*_*ava 5

尝试这个查找命令:

find . -type f -name "*.my_format" -exec bash -c './my_script "$1" &' - '{}' \;
Run Code Online (Sandbox Code Playgroud)