wgetでダウンロードする数値の範囲をループする


11

次のことを行うbashスクリプトを作成するにはどうすればよいですか。

URL = "example.com/imageID="
while (1..100)
   wget URL + $i #it will wget example.com/imageID=1, then 2, then 3, etc
done

そのため、実行するループの数、ループからの数で終了するURLがあります。私wgetはこれらすべてをする必要があります。

回答:


19

Bash 4.0を使用している場合、これを行うことができます。

wget example.com/imageId={1..100}.jpg

10

プログラミングの経験があまりない人でも簡単です。疑問がある場合は、常にBashのマニュアルを読んでください。

for i in {1..100}
do
    wget "example.com/imageID=$i"
done

原則として、あなたは同封する必要があり$i、引用符で:wget "example.com/imageID=$i"
スコット

これはおそらくうまくいきます。ただし、「00008000」から開始すると、一部の理由で最初の4つのゼロがスキップされるため、wgetはエラーを発生させます。
esaruoho

-1

変数がURLの末尾になく、変数がアンダースコアの間にある場合:
example.com/imageID_1_2018.gif
example.com/imageID_2_2018.gif
example.com/imageID_3_2018.gif



example.com/imageID_100_2018.gif

wget example.com/imageID_{1..100}_2018.gif
同様に:
for ((i=1;i<=100;i++)); do wget example.com/imageID_${i}_2018.gif; done


3
スーパーユーザーへようこそ。詳細を提供するには、回答を編集してください。あなたの投稿を読んでいる誰もが、それがOPの質問にどのように答えるかを、より詳細な説明なしに理解できるとは限りません。
私はモニカを復活させる '23

1
これ答えかどうかわかりません。受け入れられた回答の説明のように見えます(あまり明確ではありません)。
スコット
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.