Dengan file gzip, Anda cukup menggabungkan file, seperti:
cat file1.gz file2.gz file3.gz > allfiles.gz
Sesuai dengan gzip RFC ,
File gzip terdiri dari serangkaian "anggota" (kumpulan data terkompresi). [...] Para anggota hanya muncul satu demi satu dalam file, tanpa informasi tambahan sebelum, di antara, atau setelah mereka.
Perhatikan bahwa ini tidak persis sama dengan membuat file gzip tunggal dari data yang digabungkan; antara lain, semua nama file asli dipertahankan. Namun, gunzip tampaknya menanganinya sama dengan penggabungan.
Karena alat yang ada umumnya mengabaikan header nama file untuk anggota tambahan, tidak mudah untuk mengekstrak file satu per satu dari hasilnya. Jika Anda ingin ini menjadi mungkin, buat file ZIP sebagai gantinya. ZIP dan GZIP keduanya menggunakan algoritme DEFLATE untuk kompresi sebenarnya (ZIP mendukung beberapa algoritme kompresi lain serta opsi - metode 8 adalah salah satu yang sesuai dengan kompresi GZIP); perbedaannya terletak pada format metadata. Karena metadata tidak terkompresi, cukup sederhana untuk menghapus header gzip dan menempel pada header file ZIP dan catatan direktori pusat sebagai gantinya. Lihat spesifikasi format gzip dan spesifikasi format ZIP .
cat file1.gz file2.gz file3.gz > allfiles.gz
. Sesederhana itu :)cat
jawabannya tetapi dengan beberapa metadata tambahan. Nanti Anda dapat menghapusnya untuk mendapatkan nama file asli, lalu mengekstrak semua atau hanya beberapa sesuai kebutuhan.zcat
mendekompresi masukannya, sehingga akan memberi Anda keluaran yang didekompresi dengan.gz
ekstensi.Inilah yang
man 1 gzip
dikatakan tentang kebutuhan Anda.Tak perlu dikatakan,
file1
bisa diganti denganfile1.gz
.Anda harus memperhatikan ini:
Jadi untuk mendapatkan semua anggota secara individu, Anda harus menggunakan sesuatu tambahan atau menulis, jika Anda ingin melakukannya.
Namun, ini juga dibahas di halaman manual.
sumber
Gunakan saja kucing. Sangat cepat (0,2 detik untuk 500 MB bagi saya)
Anda kemudian dapat membaca hasilnya dengan zcat untuk memastikannya cantik:
Saya mencoba jawaban lain dari 'gz -c' tetapi saya berakhir dengan sampah ketika menggunakan file yang sudah di-gzip sebagai input (saya kira itu dikompres dua kali).
PV:
Lebih baik lagi, jika Anda memilikinya, 'pv' daripada kucing:
Ini memberi Anda bilah kemajuan saat berfungsi, tetapi melakukan hal yang sama seperti kucing.
sumber
Anda dapat membuat file tar dari file-file ini dan kemudian melakukan gzip file tar untuk membuat file gzip baru
sumber