다른 라인에서 병렬로 단일 라인 프로그램 실행

다른 라인에서 병렬로 단일 라인 프로그램 실행

따라서 URL 목록이 포함된 배열이 있고 GNU 병렬과 같은 도구를 사용하여 URL을 병렬로 다운로드하고 싶다고 가정해 보겠습니다. 이와 같은 명령이 트릭을 수행합니다.

parallel -u wget -qc --show-progress ::: "${URLs[@]}"

이 명령의 유일한 문제점은 명령의 진행 상황을 표시할 때(특히 -u대기하는 것이 아니라 발생한 대로 출력을 표시하기 때문에) 명령의 출력이 모두 동일한 줄로 이동한다는 것입니다. 이로 인해 wget 인스턴스가 출력될 때 tty의 이전 wget 출력 진행 상황을 덮어쓰는 상황이 발생합니다. 그래서 각 wget 출력을 동시에 자체 라인에 표시하는 방법이 궁금합니다.

답변1

parallel --ll wget -qc --show-progress ::: "${URLs[@]}"

--ll 옵션은 알파 테스트 중이지만 내 테스트에서는 작동했습니다.

관련 정보