ファイルの各行で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を読み込み、一度に2つずつダウンロードするbashスクリプトが必要です。

これまで私が思いついたスクリプトは次のとおりです。

#!/bin/sh

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

しかし、単一のファイルをダウンロードしてください。

一度に2つのファイルをダウンロードするように編集するにはどうすればよいですか?

答え1

whileループに複数の読み取りコマンドを配置できます。 「一度に2つ」を使用しますが、両方ともバックグラウンドに置き、完了するまで待ちます。

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

しかし、@muruのコメントが望ましいです。

関連情報