On Sat, Mar 09, 2002 at 08:40:05PM +0100, Ivan Sergio Borgonovo wrote:
> > > c'è un modo per far funzionare
> > > unzip $(find . -name "*.zip")
> > > anche in presenda di nomi di file con spazi?
> > prova
> > find . -name "*.zip" -exec unzip {} \;
> > non garantisco.
> unzip "$(find . -name *.zip)"
> nemmeno io garantisco
nanux:~/tmp>ls -l
total 2
-rw-rw-r-- 1 nando nando 142 Mar 9 23:20 a a.zip
-rw-rw-r-- 1 nando nando 142 Mar 9 23:20 b b.zip
nanux:~/tmp>unzip "$(find . -name *.zip)"
find: paths must precede expression
Usage: find [path...] [expression]
unzip: cannot find , .zip or .ZIP.
> oppure
> find . -name *.zip | unzip
Nel find devi escapare l'*:
find . -name \*.zip
o
find . -name '*.zip'
Ma comunque non funziona lo stesso: problemi della sintassi dell'unzip,
che accetta un solo argomento (un solo file su cui operare alla volta).
> find . -name *.zip | cat | unzip (?)
Nope, il cat non serve: stampa l'input (il nome del file) sull'output
senza aggiungere o togliere nulla.
> unzip `find . -name *.zip`
E` una forma analoga alla prima proposta.
Vanno bene invece la forma proposta da Tannoiser e questa:
for i in *.zip;do unzip $i;done
> un commento: sono io che sono paranoico o robe tipo exec e eval è
> sempre meglio prenderle con le pinze per motivi di sicurezza?
No, non sei abbastanza paranoico (C) :-)
--
Nando Santagata: Telemastica & infornatica
Key fingerprint = 1054 9311 458D 4BAA E97B F447 7CD4 54B5 0208 F815
finger nandos (at) mail (dot) ipers (dot) net for my GPG public key
|