파일의 각 줄에서 wget 명령을 실행하고 파일을 다운로드합니다(한 번에 2개씩).

파일의 각 줄에서 wget 명령을 실행하고 파일을 다운로드합니다(한 번에 2개씩).

다운로드하려는 파일의 URL이 포함된 파일이 있습니다.

예를 들어:

https://url-of/file1.zip
https://url-of/file2.zip
https://url-of/file3.zip
...

현재 파일을 다운로드하는 데 사용하는 명령은 다음과 같습니다.

wget --continue --tries=0 https://url-of/file.zip

하지만 이제 파일에서 URL을 읽고 한 번에 두 개씩 다운로드하는 bash 스크립트가 필요합니다.

지금까지 내가 생각해낸 스크립트는 다음과 같습니다.

#!/bin/sh

cat file.txt |while read url
do
    wget --continue --tries=0 "$url"
done

하지만 단일 파일을 다운로드합니다.

한 번에 두 개의 파일을 다운로드하도록 편집하려면 어떻게 해야 합니까?

답변1

while 루프에 여러 읽기 명령을 배치할 수 있습니다. "한 번에 두 개"를 사용하지만 둘 다 백그라운드에 두고 완료될 때까지 기다립니다.

while read -r first && read -r second; do
    wget "$first" &
    wget "$second" &
    wait
done < input.file

그러나 @muru의 의견이 바람직합니다.

관련 정보