
すべてのファイルをbash パッチ サイト順番にダウンロードします。
SEQ=$(seq -f "%03g" 1 30)
for i in $SEQ; do
wget http://ftp.gnu.org/gnu/bash/bash-4.3-patches/bash43-$i;
done
しかし、その場合、最大数を知る必要があります。
リストを取得して、すべてのパッチファイルをダウンロード用に抽出する可能性はありますか?
答え1
wget
再帰ダウンロードで使用できます:
wget -nc -nd -nH -np -r -R '*.*' http://ftp.gnu.org/gnu/bash/bash-4.3-patches/
説明:
-nc
: no-clobber (既存のファイルを上書きしない)、おそらく必要ありません。-nd
: ディレクトリの階層を作成しないでください。-nH
: ホスト名に基づいてディレクトリを作成しないでください。そうしないと、すべてが というディレクトリにダウンロードされてしまいますftp.gnu.org
。-np
: 親ディレクトリには決して上がらない。-r
: 再帰的にダウンロードします。-R '*.*'
:.
ファイル名に が含まれるものをすべて拒否します ( などはスキップしますindex.html
)。受け入れリストも使用できます。ファイルはダウンロードされましたが、破棄されました。
答え2
for i in $(seq -f "%03g" 1 999); do
wget http://ftp.gnu.org/gnu/bash/bash-4.3-patches/bash43-$i
if [[ $? -ne "0" ]]; then
MAX=$(expr $i - 1)
break;
fi
done
echo $MAX files downloaded