Newsgroup: it.comp.os.linux.development
Titolo: programmazione di shell: quesito

Ciao a tutti,
spero di non essere ot: avrei un quesito sulla programmazione di uno
script di shell che vorrei fare con bash.
Ho consultato gli appunti linux, ma non ho trovato quello che cerco.
Vorrei costruire uno script che mi faccia il wget di un file e che
verifichi che la dimensiona di quanto scaricato sia maggiore di una
dimensione prefissata. Dovrebbe essere una cosa del genere:
dimensione_minima = ....
wget -c 
http://pippo.pluto.it/pub/file.zip
while (dimensione di file.zip < dimensione_minima)
	wget -c 
http://pippo.pluto.it/pub/file.zip
So gia' che wget fa il ripristino delle connessioni, ma per certi server
delle volte il download non riesce nemmeno bene a partire.
Qualcuno mi saprebbe dire come si valuta la dimensione di file.zip in un
bash script ? Ho trovato solo "test [ -s file.zip ]" che è vero se la
dimensione e' >0.
Grazie,
		Davide
_______________________________________________________
   Davide Manzoni -    email: 
dman...@racine.ra.it
The salesman said "This machine requires Windows 95, NT,
or better."   The only thing I could think of was Linux.
_______________________________________________________

 dimensione e' >0.
La dimensione di un file la puoi calcolare con wc e un po' di trucchi:
len=$( wc -c file.zip | (read n x; echo $n) )
In un ciclo while diventa:
while [ $( wc -c file.zip | (read n x; echo $n) ) -lt $dimensione_minima ]; do
   ...
done
Ciao,
         Umberto

         Umberto
Grazie!
Non appena ho un po' di tempo provo subito.
Ciao,
	Davide

len=$( wc -c file.zip | (read n x; echo $n) )
Forse e' meno pericoloso usare "ls -la", "tr" e "cut"... :-)
Ti immagini se peschi un file di un centinaio di Mb, a usare wc?
Leonardo
-- 
".signature": bad command or file name

 wrote:

Dimentichi l'opzione "-c". Ho appena provato su di un file di 30 MB:
risposta immediata senza attivita' disco: evidentemente wc, a dispetto
del nome, e' sufficientemente intelligente. Inoltre, wc e' l'unico
comando esterno, mentre il resto sono comandi incorporati di bash.
Ciao,
         Umberto

del nome, e' sufficientemente intelligente.
Per la serie: mai scrivere qualcosa se non si e' fatto la prova. L'ho
appena fatta e infatti hai ragione tu.
Incidentalmente, una curiosita':
$ time wc -c /var/megatron/agent/000043d6.dat
171556864 /var/megatron/agent/000043d6.dat
real    0m7.713s
user    0m0.000s
sys     0m0.020s
$ time /usr/bin/wc -c /var/megatron/agent/000043d6.dat
171556864 /var/megatron/agent/000043d6.dat
real    0m0.009s
user    0m0.000s
sys     0m0.010s
A parte il bug (real < sys), ci mette SETTE SECONDI a vedere
dov'e' il wc? ;-)


 dov'e' il wc? ;-)
mai sentto parlare di memoria virtuale?

dov'e' il wc? ;-)
Sei mai entrato per la prima volta in un locale pubblico, e hai fatto la
stessa ricerca?
Almeno dieci, ce ne vogliono, di solito.
Chiederlo al cameriere non vale.
-- 
           |Save our planet!
  Ciao     |Save wildlife;
  roberto  |For your E-MAIL use only recycled Bytes !!
           |roberto poggi  
rpo...@softhome.net

dov'e' il wc? ;-)
Ma tu allora aiutalo a cercarlo cosi`:
$ time `which wc` -c /slack/usr/src/linux-2.2.17.tat.bz2
14056567 /slack/usr/src/linux-2.2.17.tar.bz2
real	0m0.016s
user	0m0.010s
sys	0m0.000s
Vedi? Meno di due centesimi di secondo! ;-)
Piuttosto, ma e` un bug sicuramente?
Da me i tempi su prove ripetute hanno un andamento che sembra casuale
e sys oscilla tra zero e un centesimo senza regola, apparentemente.
-- 
Ci sentiamo  |  Remigio Zedda  || Attenzione! campo "From:" alterato
ciao Remigio |                 ||==> E-mail: 
remi...@tiscalinet.it
-------------|      ..si` d'accordo.. ma con la Deb e` un'altra cosa!
/* Linux 2.2.17 su Debian GNU/Linux 2.2 Potato */

 Almeno dieci, ce ne vogliono, di solito.
10 secondi?
Devo  trovare ancora  un locale  pubblico che  non sia  il bagno  di una
stazione ferroviaria dove il wc e` indicato chiaramente...
Ciao,
 Emmanuele
-- 
Emmanuele Bassi         |       [ 
http://digilander.iol.it/ebassi/linux/
 ]
emmanue...@iol.it
  |
  GnuPG Key Fingerprint: 9747 635E B95A B0B3 4370 1CAA CAF7 512B 945C A44C

mai sentto parlare di memoria virtuale?
Ce ne mette sette OGNI VOLTA. Ho sentito parlare di VM, ma anche di
cache, perdiana.


luigi mordacchini wrote:

io no, ma ho sentito parlare di buffer/cache :)

cache, perdiana.
Oh Dio! Allora stavi parlando seriamente con la storia del path.
E la "faccina" ce l'avevi messa solo per il doppio senso del WC.
Bella figura da parte mia, con la mia risposta di prima :-((
"Ogni volta" si stenta a crederci, vedremo come va a finire.
