2011-03-29 01:22:26 +0000 2011-03-29 01:22:26 +0000
77
77

Wie gzip mehrere Dateien in eine gz-Datei?

Ich habe 100 Dateien: cvd1.txt, cvd2.txtcvd100.txt

Wie gzip 100 Dateien in eine .gz-Datei, so dass nach I gunzip es, sollte ich cvd1.txt, cvd2.txtcvd100.txt separat haben?

Antworten (5)

85
85
85
2011-03-29 01:26:09 +0000

Sie möchten tar Ihre Dateien zusammen und gzip die resultierende tar-Datei

tar cvzf cvd.tar.gz cvd*.txt

Um die gzip’d tar-Datei zu entpacken, würden Sie folgendes tun:

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

Dies würde Ihre Dateien unter dem Verzeichnis /path/to/parent/dir extrahieren

25
25
25
2011-03-29 01:26:52 +0000

Sie werden tar verwenden wollen, etwa so:

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

tar fügt die Dateien zusammen, während gzip dann die Komprimierung durchführt.

Quoth the gzip manpage:

Wenn Sie eine einzelne Archivdatei mit mehreren Mitgliedern erstellen wollen, damit die Mitglieder später unabhängig voneinander extrahiert werden können, verwenden Sie ein Archivierungsprogramm wie tar oder zip. GNU tar unterstützt die Option -z, um gzip transparent aufzurufen. gzip ist als Ergänzung zu tar gedacht, nicht als Ersatz

13
13
13
2011-03-29 01:26:32 +0000

gzip allein weiß nichts über die Dateistruktur. Um das zu tun, was Sie wollen, müssen Sie die Dateien zuerst in eine Art Containerdatei (z.B. eine tar-Struktur oder ähnliches) packen und dann gzip das. tar hat dazu auf GNU-Plattformen die Schalter z und j (für bzip2).

6
6
6
2017-12-02 07:50:44 +0000

Sie können dies tun mit:

zip my_final_filename.zip my_first_file my_second_file ... my_last_file

unzip my_final_filename.gz

oder

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

tar -czvf my_final_filename.tar.gz

Leider ist gzip dazu nicht in der Lage. Für weitere Informationen sehen Sie sich bitte die Kommentare an.

1
1
1
2017-08-23 09:12:24 +0000

Um mehrere Dateien mit unterschiedlichen Mustern zu komprimieren, könnten wir wie folgt vorgehen:

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

Dies fügt alle .yml-Dateien, die mit Alice beginnen, aus einem beliebigen Unterverzeichnis hinzu und fügt alle .json-Dateien, die mit Bob beginnen, aus einem beliebigen Unterverzeichnis hinzu.