HTMLディレクトリリスト内のファイルリストを取得する

HTMLディレクトリリスト内のファイルリストを取得する

すべてのファイルを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

関連情報