我想根据一组参数运行一系列并行作业,同时分配第二个参数。我使用as--link
中的选项GNU Parallel
parallel --jobs 3 --link echo ::: A B C ::: D E F G
A D
B E
C F
A G
当第一组参数的数量高于第二组参数时,它完美地工作。
在上面的示例中,任务A
已重复两次。
如何避免第一组参数出现重复?换句话说,任务现在A..C
只是任务D..G
的周期性参数A..C
。
论点应该是
A D
B E
C F
就像第一组的数量较多时的情况一样,
parallel --jobs 3 --link echo ::: A B C H ::: D E F
A D
B E
C F
H D
答案1
如果您不希望输入源重复,请使输入源的长度相同。代替:
parallel --jobs 3 --link echo ::: A B C ::: D E F G
跑步:
parallel --jobs 3 --link echo ::: A B C ::: D E F
目前您还可以:
parallel --jobs 3 echo ::: A B C :::+ D E F G
但这被认为是一个错误,所以不要指望这会在未来发挥作用。