Mit gzip-Dateien können Sie die Dateien einfach wie folgt miteinander verketten:
cat file1.gz file2.gz file3.gz > allfiles.gz
Gemäß dem gzip RFC ,
Eine gzip-Datei besteht aus einer Reihe von "Mitgliedern" (komprimierten Datensätzen). [...] Die Mitglieder erscheinen einfach nacheinander in der Datei, ohne zusätzliche Informationen vor, zwischen oder nach ihnen.
Beachten Sie, dass dies nicht genau mit dem Erstellen einer einzelnen gzip-Datei der verketteten Daten identisch ist. Unter anderem bleiben alle ursprünglichen Dateinamen erhalten. Gunzip scheint dies jedoch als Äquivalent zu einer Verkettung zu behandeln.
Da vorhandene Tools die Dateinamen-Header für die zusätzlichen Mitglieder im Allgemeinen ignorieren, ist es nicht einfach, einzelne Dateien aus dem Ergebnis zu extrahieren. Wenn dies möglich sein soll, erstellen Sie stattdessen eine ZIP-Datei. ZIP und GZIP verwenden beide den DEFLATE-Algorithmus für die eigentliche Komprimierung (ZIP unterstützt einige andere Komprimierungsalgorithmen sowie eine Option - Methode 8 entspricht der GZIP-Komprimierung). Der Unterschied liegt im Metadatenformat. Da die Metadaten nicht komprimiert sind, ist es einfach genug, die gzip-Header zu entfernen und stattdessen ZIP-Datei-Header und einen zentralen Verzeichnisdatensatz anzuheften. Weitere Informationen finden Sie in der gzip-Formatspezifikation und der ZIP-Formatspezifikation .
cat file1.gz file2.gz file3.gz > allfiles.gz
. Es ist wirklich so einfach :)cat
Antwort, aber mit einigen zusätzlichen Metadaten. Sie können sie später entpacken, um die ursprünglichen Dateinamen zu erhalten, und dann alle oder nur einige nach Bedarf entpacken..zip
Dateien. Die Standardmethode zum Zusammenfügen mehrerer Dateien in einem komprimierten Archiv mithilfe des Algorithmus gzip (oder bzip2) ist die Verwendung von tar:tar
Fügt Dateien zusammen (unkomprimiert) und behält Dateinamen und -attribute bei. Die Aufgabe von gzip besteht darin, das Ergebnis zu komprimieren. Dies kann sogar in einem Schritt mit der-z
Option von erfolgentar
. Die resultierenden Dateierweiterungen sind.tar.gz
oder.tgz
. Wenn Sie bereits komprimierte .gz-Dateien zusammenstellen möchten, verwenden Sie einfach tar. Es wird keine weitere Komprimierung durchgeführt, was für bereits komprimierte Dateien sinnvoll ist.zcat
dekomprimiert seine Eingabe, sodass Sie eine dekomprimierte Ausgabe mit einer.gz
Erweiterung erhalten.Hier ist, was
man 1 gzip
über Ihre Anforderung sagt.Unnötig zu sagen,
file1
kann durch ersetzt werdenfile1.gz
.Sie müssen dies beachten:
Um alle Mitglieder einzeln zu erhalten, müssen Sie etwas Zusätzliches verwenden oder schreiben, wenn Sie dies möchten.
Dies wird jedoch auch in der Manpage behandelt.
quelle
Verwenden Sie einfach Katze. Es ist sehr schnell (0,2 Sekunden für 500 MB für mich)
Sie können die Ausgabe dann mit zcat lesen, um sicherzustellen, dass sie hübsch ist:
Ich habe die andere Antwort von 'gz -c' ausprobiert, aber ich habe Müll gefunden, als ich bereits komprimierte Dateien als Eingabe verwendet habe (ich denke, es hat sie doppelt komprimiert).
PV:
Besser noch, wenn Sie es haben, "pv" anstelle von Katze:
Dies gibt Ihnen einen Fortschrittsbalken, wie es funktioniert, macht aber das Gleiche wie Katze.
quelle
Sie können eine TAR-Datei dieser Dateien erstellen und dann die TAR-Datei gzipen, um die neue gzip-Datei zu erstellen
quelle