GNU Parallel - 多个参数

GNU Parallel - Multiple arguments

使用 GNU parallel,我正在尝试 运行 一个子采样脚本,它输入两个文件并输出一个特定的子采样文件。我正在使用这个命令:

parallel -j+0 --eta python sub_sample_.2.py ::: file1 file2 ::: file3 file4 ::: file5 file6

但是命令行上没有预计到达时间,即:

Computer:jobs running/jobs completed/%of started jobs/Average seconds to complete
ETA: 0s Left 8 AVG:0.00s local:8/0/1005/0.0

也只处理前四个文件,而不处理最后两个file5file6.

parallel -j+0 --eta python sub_sample_.2.py ::: file1 file2 ::: file3 file4 ::: file5 file6

2*2*2 = 共 8 个职位。

Computer:jobs running/jobs completed/%of started jobs/Average seconds to complete
ETA: 0s Left 8 AVG:0.00s local:8/0/1005/0.0

预计到达时间是根据作业完成的运行时间计算的。这里还没有工作完成,所以没有预计到达时间。您还可以看到所有 8 个作业都在您的本地系统上 运行ning,因此您可能有 8 个或更多内核。

Also only the first four files are processed, but not the last two: file5 and file6.

这样写我怀疑你可能不知道 multiple ::: 的作用。 运行 --dry运行 看看这是否是您期望的 运行.

我的猜测是您真正想要 运行 的是(需要版本 20160422 或更高版本):

parallel --eta python sub_sample_.2.py ::: file1 file3 file5 :::+ file2 file4 file6

或:

parallel --xapply --eta python sub_sample_.2.py ::: file1 file3 file5 ::: file2 file4 file6