[bash] while

Pagina: 1
Acties:

  • Apache
  • Registratie: Juli 2000
  • Laatst online: 17-08 14:28

Apache

amateur software devver

Topicstarter
Hey,

Ik moet van een bepaalde server zo'n 4xx zipjes downloaden, nu geeft de listing een 403 (de files zijn wel rechtstreeks benaderbaar)

nu zou ik met wget een recursieve download op willen toepassen maar omwille van die header lukt het niet.

maar met een bash scriptje moet het wel lukken volgens mij, spijtig genoeg heb ik helemaal geen ervaring met bash scripting (enkel php ;) )

dit heb ik tot nu toe en het werkt niet echt :)
code:
1
2
3
4
5
#!/bin/bash
GET=000 
while [ $GET < "499" ]; do `wget http://url/dir/$get.zip` 
$GET = $GET+1 
until [ $get = "499" ]

Alvast bedankt voor de reactie's :)

If it ain't broken it doesn't have enough features


Verwijderd

neem eens een kijkje in de bash programming howto :)

  • tiro
  • Registratie: Maart 2000
  • Laatst online: 17-08 02:23
for i in `seq 1 499` ; do wget http://www.url.com/file$i.zip ; done

  • Apache
  • Registratie: Juli 2000
  • Laatst online: 17-08 14:28

Apache

amateur software devver

Topicstarter
Op maandag 18 juni 2001 18:17 schreef fkooman het volgende:
neem eens een kijkje in de bash programming howto :)
Sorry, normaal had ik dat gedaan (had ook ff bij man bash gekeken, maar k'heb morgen nog 2 examens :( )
Op maandag 18 juni 2001 18:23 schreef tiro het volgende:
for i in `seq 1 499` ; do wget http://www.url.com/file$i.zip ; done
Dit werkt, hartelijk bedankt :)
k'heb het wel in 2 delen opgesplitst omdat hij van 001 ook 1 maakt en die eerste zip's zo beginnen :)

maar t'werkt perfect, thx :)

If it ain't broken it doesn't have enough features


  • Wilke
  • Registratie: December 2000
  • Nu online
Ook handig: de ingebouwde help-functie van bash.

Als je bv. 'help while' doet krijg je in het kort de syntax van dat commando. Dat werkt makkelijker dan de man-page opzoeken

Trouwens bedankt voor die 'seq' tip, ik heb daar ook al eens naar lopen zoeken maar kwam er toen niet achter....Weer wat geleerd :)

  • Wilke
  • Registratie: December 2000
  • Nu online
Op maandag 18 juni 2001 18:34 schreef Apache het volgende:
Dit werkt, hartelijk bedankt :)
k'heb het wel in 2 delen opgesplitst omdat hij van 001 ook 1 maakt en die eerste zip's zo beginnen :)

maar t'werkt perfect, thx :)
Dat had ik denk ik ook zo gedaan, maar jawel, ook dit is elegant op te lossen:

gebruik de regel zoals hierboven maar waar seq 1 499 staat vul je in:

seq -f "%03g" 1 499

die -f staat voor 'ander formaat', standaard is %g (gewoon een getal) maar je kunt hier 'printf-style' formaten opgeven. De 0 geeft aan dat je leading zero's wil en de 3 is dat elk getal 3 cijfers lang moet zijn (i.e. 14 wordt 014)

  • pjottum
  • Registratie: Mei 2000
  • Laatst online: 20:34

pjottum

¯\_(ツ)_/¯

hm..

ls | while read i do
htget $i
done

htget is niet mijn specialiteit, maar zo werkt je scriptje wel denk ik.
Die ls kan natuurlijk ook een cat bestandmetbestandsnamen zijn

I have usernames older than you.

Pagina: 1