apa gunzip memiliki opsi -k? Saya tidak melihat siapa pun.
Znik
1
@Znik, gzip / gunzip versi 1.6 dan lebih tinggi memiliki opsi-k .
aleksandr barakin
Jawaban:
220
Kamu sedang mencari:
gzcat x.txt.gz >x.txt
The gzcatperintah setara dengan gunzip -cyang hanya menulis output stream untuk stdout. Ini akan membuat file terkompresi tidak tersentuh. Jadi, Anda juga dapat menggunakan:
gunzip -c x.txt.gz >x.txt
Perhatikan bahwa pada beberapa sistem, gzcat juga dikenal sebagai zcatrun seperti ini:
Terima kasih atas jawabannya. Tumbuh dengan pkunzip di DOS saya merasa sangat aneh bahwa tidak ada pilihan untuk menyimpan file. Terutama dengan alat seperti gzip yang begitu banyak digunakan ... hanya aneh.
Sen
4
FYI, saya sebenarnya tidak punya gzcat. Baik sistem lokal saya atau sistem saya ssh'ed ke dalam. Jadi, saya harus menggunakan gunzip -c
Sen
25
itu mungkin hanya zcat di sistem Anda.
user23307
2
Opsi tambahan untuk menyimpan file tentu saja menyenangkan. Sebagai contoh, b (un) zip2 menggunakan sintaksis yang sama dan memungkinkan untuk hanya menambahkan -kuntuk menyimpan file asli.
schnaader
1
Anda juga dapat menambahkan baris alias gzcat = "gunzip -c" ke .bashrc Anda
James Kingsbery
55
Anda dapat menggunakan -copsi gunzip yang menulis output ke stdout, dan kemudian mengirimkannya ke file pilihan Anda:
By the way, perhatikan bahwa halaman manual yang disebutkan di atas mencantumkan opsi -k, yang berarti menyimpan file input. Mungkin ini bekerja pada versi BSD, tetapi tidak pada saya, jadi solusi -c tampaknya menjadi yang benar.
31
Solusi yang lebih sederhana adalah dengan menggunakan gunzip sebagai filter seperti ini:
Saya pikir ini adalah cara terbersih karena gunziptidak pernah tahu file apa yang didapatnya, yang dilihatnya adalah aliran data, jadi tidak mungkin mengubah file asli.
Walf
12
Jika itu sebenarnya tarball (ekstensi .tgz atau .tar.gz), maka alih-alih mengarahkan ulang ke file seperti semua jawaban sejauh ini, Anda ingin mengirimkannya ke tar, seperti:
-k
.Jawaban:
Kamu sedang mencari:
The
gzcat
perintah setara dengangunzip -c
yang hanya menulis output stream untukstdout
. Ini akan membuat file terkompresi tidak tersentuh. Jadi, Anda juga dapat menggunakan:Perhatikan bahwa pada beberapa sistem, gzcat juga dikenal sebagai
zcat
run seperti ini:sumber
-k
untuk menyimpan file asli.Anda dapat menggunakan
-c
opsi gunzip yang menulis output ke stdout, dan kemudian mengirimkannya ke file pilihan Anda:Lebih detail di halaman manual .
sumber
Solusi yang lebih sederhana adalah dengan menggunakan gunzip sebagai filter seperti ini:
sumber
gunzip
tidak pernah tahu file apa yang didapatnya, yang dilihatnya adalah aliran data, jadi tidak mungkin mengubah file asli.Jika itu sebenarnya tarball (ekstensi .tgz atau .tar.gz), maka alih-alih mengarahkan ulang ke file seperti semua jawaban sejauh ini, Anda ingin mengirimkannya ke tar, seperti:
sehingga Anda mendapatkan konten yang sebenarnya.
sumber
Gunakan
-c
opsi untuk membuka kompresi file ke stdout. Itu tidak akan menyentuh file asli.sumber
ATAU
Komentar:
sumber
Gnu tar dapat membaca file gzip:
tar -zxsvf myfile.tar.gz
atautar -jxzvf myfile.tar.bz2
untuk file tar bzipped.sumber