Farklı bir hedef dizine nasıl gunzip yaparım?


80

Geçerli olandan başka bir hedef dizine nasıl uçabilirim?

Bu işe yaramadı:

gunzip *.gz /putthemhere/

Yanıtlar:


104

gunzipStandart çıktıya çıkmasını isteyin ve bu dizindeki bir dosyaya yönlendirin:

gunzip -c file.gz > /THERE/file

zcatkısayol gunzip -c.

Birden fazla dosyayı silahla sıkıştırmak istiyorsanız tüm dosyalar üzerinde yineleyin:

for f in *.gz; do
  STEM=$(basename "${f}" .gz)
  gunzip -c "${f}" > /THERE/"${STEM}"
done

(burada basenamedosya adının bir kısmını uzantısız almak için kullanılır)


3
Dosyayı oluşturur, ancak dosya sahipliğini, izinleri vb. Korumaz. Bu, durumunuza bağlı olarak iyi veya kötü olabilir.
Chris Johnson,

2

Tek bir dosya ayıklamanız ve bir kök dizinine yazmanız gerekirse , aşağıdakileri kullanın sudo dd:

zcat filename.conf.gz | sudo tee /etc/filename.conf >/dev/null

Dosya uzak bir kaynaktan geliyorsa (yani, ssh, curl https, vb.), Aşağıdaki gibi yapabilirsiniz:

ssh remoteserver cat filename.conf.gz | zcat | sudo tee /etc/filename.conf >/dev/null

(Bu örneklerin , dizindeki tüm gzipli dosyalar olan * .gz örneğinin aksine, yalnızca tek bir dosya için çalıştığını unutmayın .)


Kök ayrıcalıklarıyla yazmak için sudo tee $filename >/dev/nullkullanmaktan biraz daha aptalcadır dd.
dcoles 17:18

1

Sonucu istediğiniz yere yönlendirmek için> ile deneyebilirsiniz.

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.