如何使用 gnu_parallel 到 运行 文件列表中的可执行文件?

How to use gnu_parallel to run an executable from a list of files?

我目前正在学习使用 gnu_paralle。我已阅读https://www.gnu.org/software/parallel/man.html#EXAMPLE:-Working-as-xargs--n1.-Argument-appending

还有一些其他资源,并且在学习语法方面取得了一些成功。

此刻,我有一个接受 *argv 的 g++ 编译可执行文件。我目前 运行 通过在 bash 中执行以下操作来串联它:

cd ./ && find ./data | grep '\.data.format$' > datalist.tmp;

然后我按以下顺序阅读此文件列表

while read LINE; do executable $LINE; done <datalist.tmp

现在。通过阅读 gnu_parallel 文档,我了解到可以并行处理多个实例中的可执行文件。

请问有人可以帮忙修改语法吗?

尝试:

parallel -a datalist.tmp executable

或者:

parallel executable < datalist.tmp

不确定 cd ./ 在做什么 - 它似乎将目录更改为当前目录,这似乎毫无意义,因为进程已经在那里。

谢谢。 我最终找到了以下解决方案,

while read LINE; do echo executable.exe $LINE ; done < data.tmp |paralell -j4