Pagina 1 di 1

Unzip su file multipli

Inviato: lun 19 giu 2006, 14:01
da gohanz
Forse la domanda è scema! :roll: Ma io non ci riesco! Come si possono scompattare una serie di file .zip contenuti in una stessa directory?

Ad esempio ho una ventina di file .zip in /tmp/zip

Ora entrando nella dir e dando unzip *.zip mi da errore! :roll:
Dov'è che sbaglio? :cry:

Inviato: lun 19 giu 2006, 14:03
da l1q1d
prova con:

Codice: Seleziona tutto

for i in *.zip
do
unzip $i
done
che su una riga sola e':

Codice: Seleziona tutto

for i in *.zip; do unzip $i; done

Inviato: lun 19 giu 2006, 14:05
da gohanz
Grazie provo subito! :wink:

Inviato: lun 19 giu 2006, 14:10
da whites11
assurdo ma vero, nonostante ciò che dice il man non funziona!

mah!

Codice: Seleziona tutto

[ciao@Linux-2 prova]$ ls
totale 12
-rw-r--r--  1 ciao users 142 2006-06-19 14:04 file1.zip
-rw-r--r--  1 ciao users 142 2006-06-19 14:04 file2.zip
-rw-r--r--  1 ciao users 140 2006-06-19 14:03 file.zip
[ciao@Linux-2 prova]$ unzip file1 file2 file3
Archive:  file1.zip
caution: filename not matched:  file2
caution: filename not matched:  file3
[ciao@Linux-2 prova]$ 

Inviato: lun 19 giu 2006, 14:22
da l1q1d
leggendo il man c`e'

Codice: Seleziona tutto

unzip \*.zip
Qui qualcuno non sa leggere il man...... :lol: :lol: :lol: :lol: :lol: :lol:

Inviato: lun 19 giu 2006, 14:28
da gohanz
Lo script funziona bene! :wink:

Inviato: lun 19 giu 2006, 14:32
da l1q1d
prego non c`e` di che :idea: :idea:

Inviato: lun 19 giu 2006, 14:53
da albatros
zip nomearchivio.zip file-da-zippare1 file-da-zippare2 file-da-zippare3 eccetera ti crea un archivio chiamato nomearchivio.zip con i file che hai elencato.
unzip nomearchivio.zip file-da-zippare1 ti estrae file-da-zippare1 dall'archivio che hai creato
unzip nomerchivio.zip nomearchiviobis.zip nomerchiviotris.zip tenta di estrarre da nomerchvio.zip i files nomerarchiviobis.zip e nomearchiviotris.zip, che ovviamente non trova, segnalando al contempo l'errore.
nell'esempio di whites11 unzip si lamenta di non trovare i file file2 e file3 nell'archivio file1.zip ...
(tralasciando il fatto che forse comunque file3 non c'era proprio, almeno a vedere l'output di ls...)
il suggerimento di liquid funziona perché, una volta espanso, lo script esegue in successione:
unzip primofilezippato.zip
unzip secondofilezippato.zip
unzio terzofilezippato.zip
e così via, ovvero esegue unzip nomefilezip singolarmente per ogni file zippato della directory.

"Un computer non fa quello che vuoi, fa quello che gli dici", metteva in calce ad ogni e-mail un mio amico che lavora al Cineca...

A suo tempo ci sono cascato anch'io, ma ancora Slacky.it non c'era
:D

Ringrazio anch'io Liquid, perché il suo script è più elegante di quello che ti avrei proposto io (for i in $(dir -1 *.zip)), con un'inutile passaggio in più... :)