PDA

View Full Version : Decomprimere centinaia di files .Zip


Herod2k
25-05-2005, 12:42
Ragazzi ho una cartella con qualche centinaia di files zip e vorrei decomprimerli tutti... come faccio?

Non mi pare che Fileroller di gnome abbia sta funzione.

Ho fatto un po di prove da shell

unzip *.zip
unzip *.*
unzip *
unzip -d *.zip
unzip -d /home/herod/Desktop/prova *.zip
unzip -d *.zip /home/herod/Desktop/prova
unzip -d *.* /home/herod/Desktop/prova

mi danno tutti gli stessi errori
mi compare la lista dei file con scritto a sinistra:

caution: filename not matched: nomefile.zip
e alla fine mi dice
1 archive had fatal errors.

sono andato a controllare il file di errore (che lo scrive all'inizio) e l'ho cancellato

ho ridato il comando e mi da errore sul secondo della lista...ho ricancellato e ridato il comando per una decina di volte ma è sempre la stessa solfa...per di più se do il comando su un singolo file funziona:
unzip nomefile.zip
anche su quelli "errati" che danno fatal error...

Sono nelle vostre mani di certo non mi posso decomprimere a mano centinaia di file...
:help: :help: :help:

Qual'è la sintassi giusta del comando?? :muro: :muro: :muro:

lovaz
25-05-2005, 12:46
find -name "*.zip" -exec unzip {}\;
dovrebbe andare

Herod2k
25-05-2005, 12:49
find -name "*.zip" -exec unzip {}\;
dovrebbe andare

mi da questo errore:
find: manca l'argomento di `-exec'

kingv
25-05-2005, 12:52
metti lo spazio tra le due graffe e il \;

Herod2k
25-05-2005, 12:56
grazie ragazzi...funziona tutto...sta decomprimendo....

Posso chiedere un'ultimo favore...mi spiegate la stringa?? :rolleyes: :rolleyes: :rolleyes: .

Grazie.

più che altro no ho capito questo: {} \;

kingv
25-05-2005, 13:49
{} viene sostituito a ogni eseguzione del comando argomento di -exec col nome di uno dei file trovati dal find
\; termina il comando e la sua lista degli argomenti

Never
25-05-2005, 19:03
non è più semplice?
unzip `find ./ -name "*.zip"`

non sono un grande esperto...

GhePeU
25-05-2005, 19:09
io avrei usato un

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

lovaz
26-05-2005, 12:35
non è più semplice?
unzip `find ./ -name "*.zip"`

non sono un grande esperto...
Non funziona... mi spiace :Prrr:

Never
26-05-2005, 22:26
Non funziona... mi spiace :Prrr:
:cry: sai anche spiegrami il perché, con rm ad es. funziona

wubby
27-05-2005, 06:37
{} viene sostituito a ogni eseguzione del comando argomento di -exec col nome di uno dei file trovati dal find
\; termina il comando e la sua lista degli argomenti
:ave: :ave: :ave:
/me che dovrebbe studiare un po' l'argomento... :D :D :D

kingv
27-05-2005, 08:38
:cry: sai anche spiegrami il perché, con rm ad es. funziona


rm accetta come argomenti una lista di file da rimuovere, mentre unzip vuole un solo file zip come argomento, se specifichi ulteriori file quelli successivi al primo vengono interpretati come se fossero i nomi dei file interni all'archivio che tu vuoi estrarre (invece del comportamento di default che li estrae tutti).

Never
27-05-2005, 18:33
rm accetta come argomenti una lista di file da rimuovere, mentre unzip vuole un solo file zip come argomento, se specifichi ulteriori file quelli successivi al primo vengono interpretati come se fossero i nomi dei file interni all'archivio che tu vuoi estrarre (invece del comportamento di default che li estrae tutti).

thanks chiarissimo :)