Bol miktarda .txt.gz
dosya içeren bir dizim var (isimler belirli bir modeli takip etmiyor.)
gunzip
Onlara giden en basit yol nedir ? Onların gitmek böylece, özgün isimlerini korumak isteyen whatevz.txt.gz
içinwhatevz.txt
Bol miktarda .txt.gz
dosya içeren bir dizim var (isimler belirli bir modeli takip etmiyor.)
gunzip
Onlara giden en basit yol nedir ? Onların gitmek böylece, özgün isimlerini korumak isteyen whatevz.txt.gz
içinwhatevz.txt
Yanıtlar:
Peki ya bu nasıl?
$ gunzip *.txt.gz
gunzip
.gz
sonek olmadan bir gunzipped dosyası oluşturacak ve orijinal dosyayı varsayılan olarak kaldıracak (detaylar için aşağıya bakınız). *.txt.gz
Kabuğ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 find
ve -exec
sizin 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.
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
-N
seç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