मैं एक लक्ष्य निर्देशिका में पुनरावर्ती रूप से सभी फ़ाइलों को गनज़िप कैसे करूं?


30

मैं जानना चाहता हूं कि एक लक्ष्य निर्देशिका में सभी फ़ाइलों को पुन: प्रदर्शित करने के लिए कमांड का उपयोग क्या है? मैंने अनज़िप कमांड का उपयोग करने की कोशिश की लेकिन यह काम नहीं किया।

मैंने एक लक्ष्य फ़ोल्डर में सभी ज़िप फ़ाइलों को अनज़िप से कमांड की कोशिश की ?

जवाबों:


15

नीचे दिए गए आदेशों का उपयोग करना। <path_of_your_zips>अपने ज़िप फ़ाइलों और <out>अपने गंतव्य फ़ोल्डर के साथ पथ से बदलें :

  • GZ फ़ाइलों के लिए

    find <path_of_your_zips> -type f -name "*.gz" -exec tar xf {} -C <out> \;
    

    या

    find <path_of_your_zips> -type f -name "*.gz" -print0 | xargs -0 -I{} tar xf {} -C <out>
    
  • ज़िप फ़ाइलों के लिए

    find <path_of_your_zips> -type f -name "*.zip" -exec unzip {} -d <out> \;
    

    या

    find <path_of_your_zips> -type f -name "*.zip" -print0 | xargs -0 -I{} unzip {} -d <out>
    

.Gz फ़ाइलों के साथ यह काम करता है?
user2028856

1
बेहतर, अब हाँ :)
एबी

2
क्यों -execपसंद नहीं find . -type f -name "*.gz" -exec tar xzf {} -C <out> \;?
इलियट फ्रिस्क

1
केवल टारबॉल फ़ाइलों के लिए ही काम करें, केवल जी-ज़िप्ड वाले के लिए नहीं
कोविच

1
gzipped फ़ाइलें जो टार फाइल्स नहीं हैं, यह त्रुटि देती हैं:tar: This does not look like a tar archive
अगली सूचना तक रुकी हुई।

64

gunzipहै -rविकल्प। से man gunzip:

   -r --recursive
          Travel  the directory structure recursively. If any of the 
file names specified on the command line are directories, gzip 
will descend into the directory and compress all the files it finds
there (or decompress them in  the  case  of gunzip ).

इसलिए, यदि आप gunzipसभी संपीड़ित फ़ाइलों ( gunzipवर्तमान में gzip, zip, compress, compress -H या pack) द्वारा बनाई गई फ़ाइलों को डिक्रिप्ट कर सकते हैं, तो डायरेक्टरी /foo/barऔर उसकी सभी उपनिर्देशिकाओं के अंदर :

gunzip -r /foo/bar

यह रिक्त स्थान के साथ फ़ाइल नाम भी संभाल लेगा।

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