Gnu-Parallel

如何將任務數量限制為 GNU Parallel 中的第一個參數?

  • March 31, 2021

我想在分配第二個參數時基於一組參數執行一系列並行作業。我使用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

如果您不希望輸入源重複,請使輸入源的長度相同。代替:

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

但這被認為是一個錯誤,所以不要指望這在未來會起作用。

引用自:https://unix.stackexchange.com/questions/642719