gunzip dizindeki tüm .gz dosyaları


24

Bol miktarda .txt.gzdosya içeren bir dizim var (isimler belirli bir modeli takip etmiyor.)

gunzipOnlara giden en basit yol nedir ? Onların gitmek böylece, özgün isimlerini korumak isteyen whatevz.txt.gziçinwhatevz.txt

Yanıtlar:


42

Peki ya bu nasıl?

$ gunzip *.txt.gz

gunzip.gzsonek olmadan bir gunzipped dosyası oluşturacak ve orijinal dosyayı varsayılan olarak kaldıracak (detaylar için aşağıya bakınız). *.txt.gzKabuğunuz tarafından eşleşen tüm dosyalar için genişletilecektir.

Bu son bit, çok uzun bir dosya listesine genişlerse başınızı belaya sokabilir. Bu durumda, kullanmayı deneyin findve -execsizin için işi yapmak için.


Man sayfasından gzip(1):

gunzip takes a list of files on its command line and  replaces  each  file
whose  name  ends  with  .gz, -gz, .z, -z, or _z (ignoring case) and which
begins with the correct magic number with an uncompressed file without the
original  extension.

'Orijinal ad' hakkında not

gzip, sıkıştırma zamanında kullanılan dosya adını saklayabilir ve geri yükleyebilir. Sıkıştırılmış dosyayı yeniden adlandırsanız bile, yine orijinal adına geri döndüğünü öğrenince şaşırabilirsiniz.

Gzip sayfasından:

Varsayılan olarak, gzip, orijinal dosya adını ve zaman damgasını sıkıştırılmış dosyada tutar. Bunlar, dosya -Nseçeneği ile açılırken kullanılır . Bu, sıkıştırılmış dosya adı kesildiğinde veya bir dosya aktarımından sonra zaman damgası korunmadığında kullanışlıdır.

Ayrıca meta verilerde depolanan bu dosya adları aşağıdakilerle de görüntülenebilir file:

$ echo "foo" > myfile_orig
$ gzip myfile_orig 
$ mv myfile_orig.gz myfile_new.gz 
$ file myfile_new.gz 
myfile_new.gz: gzip compressed data, was "myfile_orig", last modified: Mon Aug  5 08:46:39 2019, from Unix
$ gunzip myfile_new.gz        # gunzip without -N
$ ls myfile_*
myfile_new

$ rm myfile_*
$ echo "foo" > myfile_orig
$ gzip myfile_orig
$ mv myfile_orig.gz myfile_new.gz 
# gunzip with -N
$ gunzip -N myfile_new.gz     # gunzip with -N
$ ls myfile_*
myfile_orig

0

.gzDosyayı saklamak istiyorsanız, aşağıdakileri kullanabilirsiniz: $ gunzip -c inputfile.gz >outputfile


0

Geçerli dizindeki tüm dosyaları sıkıştırmak (gz dosyalarını açmak) ve orijinallerini saklamak için bu komutu kullanın:

gunzip -k *.gz
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.