Scorri su un intervallo di numeri da scaricare con wget


11

Come posso scrivere uno script bash che eseguirà le seguenti operazioni:

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

Quindi ho un numero di loop da eseguire, un URL che termina con un numero dal loop. Ho bisogno di wgettutti questi.

Risposte:


19

se stai usando Bash 4.0, puoi farlo:

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

10

È abbastanza facile, anche per chi non ha molta esperienza di programmazione. In caso di dubbi, leggi sempre il manuale di Bash :

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

In linea di principio, dovresti racchiudere $itra virgolette:wget "example.com/imageID=$i"
Scott

questo probabilmente funziona alla grande. tuttavia, parto da "00008000" e la wget rileva errori perché, per alcuni motivi, salta i primi quattro zero.
esaruoho,

-1

Nel caso in cui la variabile non sia alla fine dell'URL e la variabile sia tra caratteri di sottolineatura:
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
equivalentemente:
for ((i=1;i<=100;i++)); do wget example.com/imageID_${i}_2018.gif; done


3
Benvenuto in Super User. Si prega di modificare la risposta a fornire maggiori dettagli. Non tutti quelli che leggono il tuo post possono capire come risponde alla domanda del PO senza una spiegazione più dettagliata.
Dico Reinstate Monica il

1
Non sono sicuro che questa sia una risposta. Sembra una spiegazione della risposta accettata (e non molto chiara).
Scott,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.