यदि आपके पास ज़िप्ड या रारड फ़ाइलों के दर्जनों के साथ निर्देशिका है, तो आप बैश खोल की शक्ति के लिए धन्यवाद, एक ही चरण में उन्हें अनजिप करने के लिए एक एकल आदेश चला सकते हैं।
इस कार्य के लिए, हम लूप कमांड संरचना के लिए बैश का उपयोग करेंगे। बदलने के एक चर नाम के साथ, और
- या तो एक आदेश जो एक सूची या एक स्पष्ट सूची आउटपुट के साथ।
for in
do command $; done
आप इसके बजाय इस वाक्यविन्यास के साथ एक पंक्ति पर इसे चला सकते हैं:
for in
;do command $;done
इसलिए यदि आप फ़ाइलों की सूची को अनारार करना चाहते हैं, तो आप इस कमांड का उपयोग कर सकते हैं। आपको जरूरी उद्धरणों की आवश्यकता नहीं है, लेकिन यह तब होता है जब फ़ाइल नामों में रिक्त स्थान होता है या उनमें कुछ ऐसा होता है।
for f in *.rar;do unrar e “$f”;done
यदि आप फ़ाइलों की सूची निकालने के लिए 7zip का उपयोग करना चाहते हैं:
for f in *.001;do 7z e “$f”;done
या यदि आप फ़ाइलों की सूची को अनजिप करना चाहते हैं:
for f in *.zip;do unzip “$f”;done
यदि आप चाहें तो आप चेन कमांड को एक साथ भी कर सकते हैं। उदाहरण के लिए, यदि आपकी सभी ज़िप फ़ाइलों में.txt फ़ाइलें शामिल हैं और आप उन्हें अनजिप करना चाहते हैं और फिर अनजिप की गई फ़ाइलों को दूसरी निर्देशिका में ले जाएं:
for f in *.zip;do unzip “$f”;done; for f in *.txt;do mv “$f” /myfolder/;done
बैश खोल इतना अविश्वसनीय रूप से शक्तिशाली है … यह शक्ति को भी टैप नहीं करता है, लेकिन यह आपको एक अच्छा विचार देना चाहिए कि क्या संभव है।