GNU Parallel의 작업 수를 첫 번째 인수로 제한하는 방법은 무엇입니까?

GNU Parallel의 작업 수를 첫 번째 인수로 제한하는 방법은 무엇입니까?

두 번째 매개변수를 할당하면서 한 매개변수 세트를 기반으로 일련의 병렬 작업을 실행하고 싶습니다. 나는 다음과 같이 --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

하지만 이는 버그로 간주되므로 앞으로는 작동할 것이라고 기대하지 마세요.

관련 정보