Unzip su file multipli

Postate qui per tutte le discussioni legate a Linux in generale.

Moderatore: Staff

Regole del forum
1) Citare sempre la versione di Slackware usata, la versione del Kernel e magari anche la versione della libreria coinvolta. Questi dati aiutano le persone che possono rispondere.
2) Per evitare confusione prego inserire in questo forum solo topic che riguardano appunto Gnu/Linux in genere, se l'argomento è specifico alla Slackware usate uno dei forum Slackware o Slackware64.
3) Leggere attentamente le risposte ricevute
4) Scrivere i messaggi con il colore di default, evitare altri colori.
5) Scrivere in Italiano o in Inglese, se possibile grammaticalmente corretto, evitate stili di scrittura poco chiari, quindi nessuna abbreviazione tipo telegramma o scrittura stile SMS o CHAT.
6) Appena registrati è consigliato presentarsi nel forum dedicato.

La non osservanza delle regole porta a provvedimenti di vari tipo da parte dello staff, in particolare la non osservanza della regola 5 porta alla cancellazione del post e alla segnalazione dell'utente. In caso di recidività l'utente rischia il ban temporaneo.
Rispondi
Avatar utente
gohanz
Staff
Staff
Messaggi: 5832
Iscritto il: mar 30 nov 2004, 0:00

Unzip su file multipli

Messaggio 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:
Ultima modifica di gohanz il lun 19 giu 2006, 14:04, modificato 1 volta in totale.

Avatar utente
l1q1d
Master
Master
Messaggi: 1862
Iscritto il: lun 21 feb 2005, 0:00
Località: In uno spazio n-dimesionale
Contatta:

Messaggio 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
Ultima modifica di l1q1d il lun 19 giu 2006, 14:05, modificato 1 volta in totale.

Avatar utente
gohanz
Staff
Staff
Messaggi: 5832
Iscritto il: mar 30 nov 2004, 0:00

Messaggio da gohanz »

Grazie provo subito! :wink:

Avatar utente
whites11
Linux 4.x
Linux 4.x
Messaggi: 1147
Iscritto il: ven 30 set 2005, 13:54
Località: Udine

Messaggio 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]$ 

Avatar utente
l1q1d
Master
Master
Messaggi: 1862
Iscritto il: lun 21 feb 2005, 0:00
Località: In uno spazio n-dimesionale
Contatta:

Messaggio 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:

Avatar utente
gohanz
Staff
Staff
Messaggi: 5832
Iscritto il: mar 30 nov 2004, 0:00

Messaggio da gohanz »

Lo script funziona bene! :wink:

Avatar utente
l1q1d
Master
Master
Messaggi: 1862
Iscritto il: lun 21 feb 2005, 0:00
Località: In uno spazio n-dimesionale
Contatta:

Messaggio da l1q1d »

prego non c`e` di che :idea: :idea:

Avatar utente
albatros
Iper Master
Iper Master
Messaggi: 2098
Iscritto il: sab 4 feb 2006, 13:59
Kernel: 6.18.0
Desktop: gnome and lxqt
Distribuzione: Ubuntu 24.04 & FC 41
Località: Darmstadt - Germania

Messaggio 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ù... :)

Rispondi