dizin ve alt dizinlerde birden fazla gzip dosyasını nasıl ayıklayabilirim?


11

Hem çalıştılar gzipve gunzipkomutları ama ben de olsun

gunzip *.gz 
gzip: invalid option -- 'Y' 

gunzip -S-1800-01-01-000000-g01.h5.gz  
gzip: compressed data not read
 from a terminal. Use -f to force decompression. For help, type: gzip -h

Ben denerseniz -fseçeneği tek bir dosya üzerinde çalışmaya çok uzun zaman alır ve komut başarıyla yürütülmez. Bir şey mi kaçırıyorum?


2
Dizin, adları tire işareti ile başlayan .gz dosyaları içeriyor -Y.something.gzmu? Öyleyse, Gnu --bayrağını seçeneklerden ziyade dosya adı olarak ele alınmasını sağlamak için kullanmanız gerekebilir.gunzip -- *.gz
steeldriver

@steeldriver evet - ile başlayan birkaç
dosyam

bu da iki problemden en az birine neden oldu.
Herman Toothrot

Yanıtlar:


16

Aşağıdaki komutu kullanabilirsiniz.

.gzDosyanızın bulunduğu dizine gidin ve şu komutu çalıştırın:

for f in *.gz ; do gunzip -c "$f" > /home/$USER/"${f%.*}" ; done

Orijinal ada sahip tüm dosyaları ayıklar ve geçerli kullanıcı giriş dizinine ( /home/username) kaydeder . Başka bir yere değiştirebilirsiniz.

DÜZENLE :

gunzip *.gz

Bu komut da çalışacaktır. Ancak, varsayılan olarak orijinal dosyanın yerini alır.


Soruma yazdıklarımı okudun mu? gunzip * .gz benim için çalışmıyor. Ama for döngüsü çalışıyor, şaşkınım.
Herman Toothrot

ama benim için ve diğerleri için de neden `` geçersiz seçenek - 'Y' 'gösteriliyor. Dosya biçiminiz iyi değil ya da komutta bir şey eksik düşünüyorum.
pl_rock


4

Seçenek # 1 : Tek tırnak kullanarak birden fazla dosyayı çıkartın (kısa versiyon)

gunzip '*.gz'

*.gzKelimenin iki tek tırnak arasına konulduğunu unutmayın , böylece kabuk onu joker karakter olarak tanımaz.

Seçenek # 2 : Döngü Kabuğu Kullanarak Birden Çok Dosyayı Açın (Uzun Sürüm)

for g in *.gz; do gunzip $g; done

Kaynak

DÜZENLE :

Ben sadece denedim:

gunzip -dk *.gz

ve işe yaradı.

-daçmak ve korijinal dosyaları tutmak için.


gunzip ‘*.gz’ Bu komutu kontrol ettiniz mi ? Bu komutu çalıştıramıyorum. hata veriyor.
pl_rock

kullanmak gunzip '*.gz'değil gunzip ‘*.gz’ ( ' 'değil `'` `)
Bilal

Ben sadece komut yapıştırma kopya ve gzip: *.gz: No such file or directoryyeni de çalışmıyor vererek . denedin mi
pl_rock

Gunzip '* .gz' gzip çalışmıyor: * .gz: Böyle bir dosya veya dizin yok
Herman Toothrot

Üzgünüm, hiç anlamadım! Şu anda WIndows'dayım :(
Bilal

0

Linux Kullanıcıları:

Geçerli dizinde ve alt dizinlerinde minimum miktarda .gz dosyası ayıklamak için aşağıdaki komutu kullanın

gunzip *.gz

Geçerli dizinde ve alt dizinlerinde istediğiniz sayıda .gz dosyasını ayıklamak için aşağıdaki komutu kullanın

sudo find . -name "*.gz" | xargs gunzip
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.