एक निर्देशिका- Linux में सभी .gz को निकालें और हटाएं


81

मेरे पास एक निर्देशिका है। इसमें लगभग 500K .gz फाइलें हैं।

मैं उस निर्देशिका में सभी .gz कैसे निकाल सकते हैं और .gz फ़ाइलों को हटा सकते हैं?


एक .gzफ़ाइल जरूरी एक संग्रह होने की जरूरत नहीं। उस स्थिति में आपके पास प्रदर्शन करने पर हटाने के लिए कुछ भी नहीं होगा gzip -d file.gz
देवनाउल

मैं इस प्रश्न को ऑफ-टॉपिक के रूप में बंद करने के लिए मतदान कर रहा हूं क्योंकि यह unix.stackexchange.com के
शंकर दामोदरन

जवाबों:


169

यह करना चाहिए:

gunzip *.gz

1
... जब तक कि आप एक 'बड़ा बहुत बड़ा' त्रुटि देता है। किस मामले में, आप कुछ find "$dir" -maxdepth 1 -name '*.gz' -print0 | xjobs -0 -l50 -v2 gunzipउदाहरणों का उपयोग करके 50 तर्कों को प्रतिबंधित करना चाहते हैं (और उन्हें समानांतर में चलाने के लिए)।
टोबे स्पाइट

22

@techedemic सही है लेकिन गायब है '।' वर्तमान निर्देशिका का उल्लेख करने के लिए, और यह आदेश सभी उपनिर्देशिकाओं के माध्यम से जाता है।

find . -name '*.gz' -exec gunzip '{}' \;

19

स्पष्ट रूप से ऐसा करने का एक से अधिक तरीका है।

    # This will find files recursively (you can limit it by using some 'find' parameters. 
    # see the man pages
    # Final backslash required for exec example to work
    find . -name '*.gz' -exec gunzip '{}' \;

    # This will do it only in the current directory
    for a in *.gz; do gunzip $a; done

मुझे यकीन है कि अन्य तरीके भी हैं, लेकिन यह शायद सबसे सरल है।

और इसे हटाने के लिए, केवल rm -rf *.gzलागू निर्देशिका में करें


3

वर्तमान निर्देशिका और इसके उपनिर्देशिकाओं में सभी gz फाइलें निकालें:

 find . -name "*.gz" | xargs gunzip 

3

यदि आप किसी एकल फ़ाइल का उपयोग निकालना चाहते हैं:

gunzip file.gz

यह फ़ाइल को निकालेगा और .gz फ़ाइल को निकालेगा।



0

प्रयत्न:

ls -1 | grep -E "\.tar\.gz$" | xargs -n 1 tar xvfz

फिर कोशिश करो:

ls -1 | grep -E "\.tar\.gz$" | xargs -n 1 rm

यह वर्तमान निर्देशिका में सभी .tar.gz फ़ाइलों को अनटार कर देगा और फिर सभी .tar.gz फ़ाइलों को हटा देगा। यदि आप एक स्पष्टीकरण चाहते हैं, "|" इसके पहले कमांड का स्टैडआउट लेता है, और उसके बाद कमांड की स्टड के रूप में उपयोग करता है। उन आदेशों और तर्कों को जानने के लिए "मैन कमांड " w / o का उपयोग करें । या, आप ऑनलाइन शोध कर सकते हैं।

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