Wget ile indirmek için bir dizi sayının üzerinde döngü yapın


11

Aşağıdakileri yapacak bir bash betiği nasıl yazabilirim:

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

Bu yüzden döngüden bir sayı ile sona eren bir URL gerçekleştirmek için bir dizi döngü var. wgetBunların hepsine ihtiyacım var .

Yanıtlar:


19

Bash 4.0 kullanıyorsanız, bunu yapabilirsiniz:

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

10

Programlama deneyimi fazla olmayan biri için bile oldukça kolaydır. Şüphe duyduğunuzda daima Bash kılavuzunu okuyun :

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

Prensip olarak, $itırnak içine almalısınız :wget "example.com/imageID=$i"
Scott

bu muhtemelen harika çalışıyor. Ancak, ben "00008000" başlar ve wget hataları vurur çünkü bazı reasn için ilk dört sıfır atlar.
esaruoho

-1

Değişkenin URL'nin sonunda olmaması ve değişkenin alt çizgi arasında olması durumunda:
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
equivalently:
for ((i=1;i<=100;i++)); do wget example.com/imageID_${i}_2018.gif; done


3
Süper Kullanıcıya Hoşgeldiniz. Daha fazla ayrıntı sağlamak için lütfen yanıtınızı düzenleyin . Yayınınızı okuyan herkes, daha ayrıntılı bir açıklama yapmadan OP'nin sorusuna nasıl yanıt verdiğini anlayamayabilir.
Reinstate Monica diyorum

1
Ben bu emin değilim olduğunu bir cevap. Kabul edilen cevabın bir açıklaması gibi görünüyor (ve çok net değil).
Scott
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.