병렬 명령이 어떻게 작동하는지 잘 모르겠습니다.
다음 간단한 명령을 실행해야 합니다. (100회)
curl https://jsonplaceholder.typicode.com/todos/1
curl https://jsonplaceholder.typicode.com/todos/2
curl https://jsonplaceholder.typicode.com/todos/3
...
curl https://jsonplaceholder.typicode.com/todos/100
end는 출력을 다음 이름의 파일로 리디렉션합니다.
1.txt
2.txt
3.txt
....
100.txt
답변1
이와 같이:
parallel curl https://jsonplaceholder.typicode.com/todos/{} ">" {}.txt ::: {1..100}
20분 정도 시간을 내어 GNU Parallel 2018 책(인쇄 버전:http://www.lulu.com/shop/ole-tange/gnu-parallel-2018/paperback/product-23558902.html온라인:https://doi.org/10.5281/zenodo.1146014). 당신의 명령줄은 당신을 좋아할 것입니다.
답변2
글쎄, 이것은 약간 과도하게 엔지니어링된 Bash 솔루션이지만 작동하고 다음 명령의 사용을 명확하게 해주기를 바랍니다 parallel
.
function xx(){ curl "https://jsonplaceholder.typicode.com/todos/$1" > "$1.txt";}
parallel xx -- {1..100}
첫 번째 줄은 xx
실행 시 컬 명령이 실행되도록 하고 표준 출력을 파일로 리디렉션하는 새로운 "명령" 또는 함수를 생성합니다. 함수 xx
는 단일 숫자를 인수로 사용하며 함수 본문 내에서는 첫 번째 위치 인수인 "$1"이라고 합니다.
parallel
두 번째 라인은 목록 1, 2, 3, ..., 100의 각 매개변수에 대해 한 번 실행되는 명령의 사용을 보여줍니다 xx
(목록 1 2 3 ... 100은 다음 조건에서 쉘에 의해 생성됩니다). : {1..100}
)에서 버팀대 확장을 수행합니다.
parallel
moreutils
참고: 이 답변은 Commands 가 아닌 Debian 시스템 패키지의 Commands 와 관련이 있습니다 GNU parallel
.