decomprimere più file


14

Non penso di essere l'unico ad avere questo problema, ma sfortunatamente non sono riuscito a trovare la risposta corretta tra le domande poste in precedenza.

È una procedura molto comune sui siti torrent in cui il contenuto è suddiviso in molti piccoli archivi. A volte, quei piccoli archivi zip indicizzati contengono all'interno un altro archivio rar.

Quindi, la mia domanda è: come gestire questo problema? Come decomprimere ricorsivamente quei file?


2
Potresti fare un esempio?
Ztik,

Stai cercando un manuale o una soluzione completamente automatizzata?
David Foerster,

solo una nota, normalmente quando trovi quel tipo di torrent su software / film illegali e non arriverai mai alla fine di quei file .rar / .zip perché è falso.
Jeggy,

Risposte:


20

Per fare ciò, basta premere Ctrl+ Alt+ Tsulla tastiera per aprire Terminale. Quando si apre, esegui i seguenti comandi:

unzip '*.zip'

Inoltre puoi fare clic con il pulsante destro del mouse sul primo file nel gruppo e scegliere Estrai qui, e anche tutti i file di quel gruppo saranno inclusi.


Secondo il manuale unzip non supporta gli archivi divisi (vedere il primo paragrafo nella sezione "Bug").
David Foerster,

@DavidFoerster l'ha appena testato e funziona.
Mitch

Ok, allora il manuale sembra essere sbagliato. Buona pesca.
David Foerster,

@mitch nel mio caso non funziona, dice "errore durante il caricamento del file zip" ma su Windows la stessa directory sullo stesso disco si decomprime con winrar, forse hai provato a decomprimere più ma> separare <il file zip contemporaneamente? questa è un'altra cosa però.
papajo,

2

Per decomprimere più file usando un ciclo -

for z in *.zip; do unzip "$z"; done

@DavidFoerster I due metodi sono essenzialmente gli stessi. *.zipfornisce tutti i file possibili che terminano con un'estensione zip che il ciclo decomprime uno per uno. Questo è anche il motivo per cui @Mitch ha incluso virgolette singole nella sua risposta '*.zip', in modo che la shell non lo riconosca come carattere jolly.
Rohith Madhavan,

1
Questo è in realtà un metodo migliore poiché puoi specificare un elenco di nomi di file invece di dire "tutti i file nella directory". Ad esempio, si desidera estrarre uno specifico elenco di file zip uno dopo l'altro, in modo da poter eseguire "for z in XYZTG; decomprimere -o" $ z.zip "; done" e lo farebbe in questo ordine. Questa è la risposta migliore imho.
John Hamilton,

0

CTRL+ ALT+ Tper aprire un terminale

for f in $(ls | egrep zip); do
  unzip $f -vd UnzippedDirectory
done

Fondamentalmente questo scorre attraverso tutte le zip che hai nella tua directory corrente e decomprime ognuna di esse verbose (da qui la -vbandiera) in una directory ( -dbandiera)

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.