두 번째 매개변수를 할당하면서 한 매개변수 세트를 기반으로 일련의 병렬 작업을 실행하고 싶습니다. 나는 다음과 같이 --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
하지만 이는 버그로 간주되므로 앞으로는 작동할 것이라고 기대하지 마세요.