ファイルがN回見つからなかった後にwgetを中断する方法は?

ファイルがN回見つからなかった後にwgetを中断する方法は?

一部のウェブサイトの複数のギャラリーから画像を取得しようとしています。ファイルがいくつあるかはわかりませんが、ファイル名が連続して指定されていることはわかっています。だから私は次の正規表現を使います。

wget http://example.org/some_path_to_gallery_x/DSC{0001..9999}.jpg

一部のファイルが失われる可能性はまだありますが、10個またはN個以上のファイルを連続して失うと、ギャラリーは明らかに最後に到達します。wget不要なトラフィックや実行時間を避け、別のギャラリーパスに切り替えることができるように、その瞬間にどのように中断できますか?

これまで私がwget念頭に置いたのは、forループ、カウンタ、および終了コードの処理だけです。しかし、私はBASHに弱すぎます。それとも魔法のwget鍵があるのでしょうか?

修正する:BASHスクリプト。

    #!/bin/bash

    G_PATH=$1
    MAX_MISSING=10
    C_ABORT=$MAX_MISSING

    for i in {0001..9999}
      do
      wget 'http://example.org/'"${G_PATH}"/DSC${i}.jpg 2>/dev/null
      if [ $? -eq 0 ]
      then
        C_ABORT=$MAX_MISSING
      else
        C_ABORT=$((C_ABORT-1))
        if [ $C_ABORT -eq 0 ]
        then
          echo break at DSC$i.jpg
          break
        else
          echo DSC$i.jpg is missing
        fi
      fi
    done

ベストアンサー1

おすすめ記事