हम प्रत्येक फ़ाइल को अलग से कैसे GZip कर सकते हैं?प्रत्येक फ़ाइल को अलग से GZip
मैं सभी फ़ाइलों को एक बड़े टैर में नहीं रखना चाहता हूं।
हम प्रत्येक फ़ाइल को अलग से कैसे GZip कर सकते हैं?प्रत्येक फ़ाइल को अलग से GZip
मैं सभी फ़ाइलों को एक बड़े टैर में नहीं रखना चाहता हूं।
आप उपयोग कर सकते हैं gzip *
नोट का प्रयास करें:
-k
(--keep
) विकल्प का उपयोग करें।एक पाश
$ for file in *; do gzip "$file"; done
आप रिकर्सिवली हर फ़ाइल gzip करना चाहते हैं, तो आप xargs के पाइप को खोजने के इस्तेमाल कर सकते हैं:
$ find . -type f -print0 | xargs -0r gzip
आसान और बहुत तेजी से जवाब यह है कि समानांतर में अपने सभी सीपीयू कोर का उपयोग करेगा:
parallel gzip ::: *
एह, इस उत्तर को और अधिक उन्नयन की जरूरत है! – zx8754
@ zx8754 ** जीएनयू समानांतर ** एक शानदार उपकरण है जिसका उपयोग इस दुनिया में कहीं अधिक किया जाना चाहिए जहां सीपीयू केवल अधिक गति के बजाय अधिक कोर प्राप्त कर रहे हैं। उदाहरण के बहुत सारे उदाहरण हैं कि हम सभी को पढ़ने के लिए 10 मिनट लगने के लिए अच्छा लगेगा ... https://www.gnu.org/software/parallel/parallel_tutorial.html –
समानांतर के बारे में जानते हैं, लेकिन इसका उपयोग करना भूल जाते हैं! स्वीकार किए गए उत्तर को चलाएं और फिर अपना जवाब देखने के लिए नीचे स्क्रॉल करें ... कई घंटों बचाए! हो सकता है कि आपकी टिप्पणी को आपके उत्तर में संपादित करने का अच्छा विचार हो? – zx8754
सात सालों के बाद, इस अत्यधिक उत्साहित टिप्पणी के पास अभी भी अपना पूर्ण उत्तर नहीं है, इसलिए मैं इसे अब प्रचारित कर रहा हूं:
इस पर वर्तमान में स्वीकृत उत्तर के दो फायदे हैं: यदि कोई उपनिर्देशिकाएं हैं तो यह रिकर्सिवली काम करती है, और Argument list too long
से यह विफल नहीं होगा यदि फाइलों की संख्या बहुत बड़ी है।
+ xargs खोजने की कोई आवश्यकता नहीं है। Gzip खुद को रिकर्सन संभाल सकता है: 'gzip -9r .' – Idelic
हमेशा की तरह,' ढूंढें। - प्रकार f -print0 | xargs -0r gzip' बेहतर है। – musiphil
'gzip *' के बराबर के लिए, आपको 'find' में '-मैक्सडेपथ 1' की भी आवश्यकता हो सकती है। – musiphil