![不带参数的 gnu 并行脚本](https://linux22.com/image/65932/%E4%B8%8D%E5%B8%A6%E5%8F%82%E6%95%B0%E7%9A%84%20gnu%20%E5%B9%B6%E8%A1%8C%E8%84%9A%E6%9C%AC.png)
我有 4 个核心,和 4 个 python 脚本文件preprocess0.py
, preprocess1.py
, preprocess2.py
, preprocess3.py
.我想使用 GNU 并行运行这 4 个进程parallel
。我没有输入文件。输入文件被硬编码在每个*.py
文件内(它是只读的,所以没关系)。我想将结果输出到file0.csv
...file3.csv
文件中。据我所知:
parallel -j4 --progress python preprocess*.py ::: '>' ./file{}.csv
但它只是停留在那里,没有写任何东西,就像在等待一些输入一样。
答案1
语法是:
parallel -j4 --progress 'python {} > ./file{}.csv' ::: preprocess*.py
这将创建名为filepreprocess1.py.csv
...的文件,您可以使用
parallel -j4 --progress 'python {} > ./file{#}.csv' ::: preprocess*.py
而不是使用工作编号并获取一些file1.csv
...文件。或者,如果您想提取文件名的数字:
parallel -j4 --progress 'python {} > ./file{=s/[^\d]//g=}.csv' ::: preprocess*.py