Come decomprimere più file in un unico file gz?


74

Ho 100 file: cvd1.txt, cvd2.txt...cvd100.txt

Come gzip100 file in un unico .gzfile, in modo che dopo che io gunzip, io dovrei avere cvd1.txt, cvd2.txt... cvd100.txta parte?

Risposte:


40

se hai zip,

zip myzip.zip cvd*.txt

Non ho bisogno di tarloro prima.


1
@ Kurumi- I programmi Windows come Winzip o 7-zip riconoscono i file .zip?

1
@Tony. Credo che lo facciano. Ho testato la versione di Linux 7-zip con zip e in grado di estrarre. Se vuoi, c'è anche GNU zip per Windows.

Si perde zgrep, zcmp, zdiffe tutti i tipi di strumenti che possono lavorare su tubi per la vostra scelta di un formato non streamable chiamato zip. Gli utenti esperti usano i tubi.
Tankman 六四

83

Vuoi i tartuoi file insieme e gzipil file tar risultante.

tar cvzf cvd.tar.gz cvd*.txt

Per decomprimere il file tar gzip dovresti fare:

tar xvzf cvd.tar.gz -C /path/to/parent/dir

Ciò estrarrebbe i tuoi file nella /path/to/parent/dirdirectory


6
se si denomina il file con estensione .tgz, (abbreviazione di tar gz), i programmi Windows lo riconosceranno come qualcosa che winzip ecc può elaborare così com'è. Congratulazioni a SiegeX per il tuo 10K!
shellter

23

Ti consigliamo di utilizzare tar, in questo modo:

tar -czvf file.tar.gz cvd*.txt

tar mette insieme i file, mentre gzip esegue quindi la compressione.

Dimentica la manpage di gzip:

Se si desidera creare un singolo file di archivio con più membri in modo che i membri possano essere successivamente estratti in modo indipendente, utilizzare un archiviatore come tar o zip. Tar GNU supporta l'opzione -z per invocare gzip in modo trasparente. gzip è progettato come complemento di tar, non come sostituto


13

gzip da solo non sa nulla sulla struttura dei file. Per fare quello che vuoi, devi prima mettere i file in una sorta di file contenitore (ad es. Una struttura tar o simile) e poi gzip. tar ha z e j (per bzip2) switch su piattaforme GNU per fare questo.


2
L'opzione è in realtà 'z' ('x' è per estrarre). Bello, hai citato 'j' / bzip2 - compressione molto più stretta.

5

Puoi farlo usando:

gzip my_final_filename.gz my_first_file my_second_file ... my_last_file

gunzip my_final_filename.gz

o

zip my_final_filename.zip my_first_file my_second_file ... my_last_file

unzip my_final_filename.gz

o

tar cvzf my_final_filename.tar.gz my_first_file my_second_file ... my_last_file

tar -czvf my_final_filename.tar.gz

Non credo che il tuo primo comando funzioni. Almeno in generale. Se funziona per una particolare shell, dovresti indicarlo. Voterei se avessi abbastanza rappresentante.
DPM,

@DPM ha ragione, i gzip/gunzipcomandi non hanno funzionato, restituirà l'erroregzip: my_final_filename.gz: No such file or directory
Bilal

1

Per comprimere più file con modelli diversi, possiamo:

tar -czvf deploy.tar.gz **/Alice*.yml **/Bob*.json

questo aggiungerà tutti i file .yml che iniziano con Alice da qualsiasi sottodirectory e aggiungeranno tutti i file .json che iniziano con Bob da qualsiasi sottodirectory.


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.