आप एक फ़ाइल को कैसे गनज़िप करते हैं और .gz फ़ाइल को रखते हैं?


220

गनज़िप का डिफ़ॉल्ट व्यवहार .omz फाइल को डिकम्प्रेस करने के बाद हटाना है।

मैं फ़ाइल को हटाने से कैसे रोकूँ ??

यदि यह कार्यक्षमता शामिल नहीं है, तो क्या कोई वैकल्पिक कार्यक्रम है जो इसे अनुमति देता है?

मैं Ubuntu 9.04 का उपयोग कर रहा हूं


3
निम्न आदेश का उपयोग करें: gunzip -k
fazineroso

गनज़िप में -k विकल्प क्या है? मुझे कोई नहीं दिखता।
Znik

1
@Znik, gzip / gunzip संस्करण 1.6 और उच्चतर में विकल्प है-k
एलेक्‍जेंडर बैराकिन

जवाबों:


220

आप देख रहे हैं:

gzcat x.txt.gz >x.txt

gzcatआदेश के बराबर है gunzip -cजो केवल करने के लिए उत्पादन धारा लिखते हैं stdout। यह संपीड़ित फ़ाइल को अछूता छोड़ देगा। तो आप भी उपयोग कर सकते हैं:

gunzip -c x.txt.gz >x.txt

ध्यान दें कि कुछ प्रणालियों पर gzcat को zcatइस तरह से चलाने के रूप में भी जाना जाता है :

zcat x.txt.gz >x.txt

2
जवाब के लिए धन्यवाद। डॉस में pkunzip के साथ बढ़ते हुए मुझे यह बहुत अजीब लगता है कि फ़ाइल रखने का कोई विकल्प नहीं है। विशेष रूप से एक उपकरण जैसे कि गज़िप का व्यापक रूप से उपयोग किया जा रहा है ... बस अजीब है।
सेन

4
FYI करें, मैं वास्तव में gzcat नहीं है। न तो मेरी स्थानीय प्रणाली या प्रणाली मैं ssh'ed था। इसलिए, मुझे
सेन

26
यह शायद आपके सिस्टम पर सिर्फ zcat है।
user23307

2
फ़ाइल रखने का एक अतिरिक्त विकल्प वास्तव में अच्छा होगा। उदाहरण के लिए, b (un) zip2 समान सिंटैक्स का उपयोग करता है और -kमूल फ़ाइल को रखने के लिए बस जोड़ने की अनुमति देता है ।
श्नाडर

1
आप अपने .bashrc
James Kingsbery

55

आप -cगनज़िप के विकल्प का उपयोग कर सकते हैं जो आउटपुट को स्टडआउट करने के लिए लिखता है, और फिर इसे अपनी पसंद की फ़ाइल में पाइप करें:

gunzip -c compressed-file.gz > decompressed-file

मैनुअल पेज पर अधिक जानकारी ।


वैसे, ध्यान दें कि उपर्युक्त निर्दिष्ट मैन पेज एक -k विकल्प को सूचीबद्ध करता है, जिसका अर्थ है कि इनपुट फाइलें रखें। शायद यह बीएसडी संस्करण पर काम करता है, लेकिन यह मेरा नहीं है, इसलिए -c समाधान सही लगता है।

31

एक सरल उपाय सिर्फ बंदूक की तरह इस फिल्टर के रूप में उपयोग करना है:

gunzip < myfile.gz > myfile

मुझे लगता है कि यह सबसे साफ तरीका है क्योंकि gunzipकभी नहीं पता कि यह किस फ़ाइल को मिल रहा है, यह सब देखता है डेटा की एक धारा है, इसलिए संभवतः मूल फ़ाइल को बदल नहीं सकता है।
Walf

12

यदि यह वास्तव में एक टारबॉल (.tgz या .tar.gz एक्सटेंशन) है, तो अब तक के सभी उत्तरों की तरह फाइल को रीडायरेक्ट करने के बजाय, आप इसे टार में पाइप करना चाहेंगे, जैसे:

gunzip -c myfile.tar.gz | tar xvf -

ताकि आपको वास्तविक सामग्री मिल सके।


7
या बस करो: tar xzvf myfile.tar.gz
जोकिम

सच है, लेकिन केवल अगर आपके पास जीएनयू टार है। उदाहरण के लिए, जो सोलारिस के साथ आता है, वह z विकल्प का समर्थन नहीं करता है।
एलेक्स

5

-cफ़ाइल का उपयोग करने के लिए स्टेपआउट करने के लिए विकल्प का उपयोग करें । यह मूल फ़ाइल को स्पर्श नहीं करेगा।

gunzip -c myfile.gz > myfile

4
gzip -dk myfile.gz

या

gunzip -k myfile.gz

टिप्पणियाँ:

   -k --keep    Keep (don't delete) input files during compression or decompression.

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.