से जगह में अनज़िप फ़ाइलों छोड़ने मैं अब तक समझ गए होंगे कि कैसे रिकर्सिवली सभी फाइलों को अनज़िप करने के लिए लगता है का उपयोग करें:रिकर्सिवली फ़ाइलों अनज़िप और फिर मूल फ़ाइल को हटाने, खोल
find . -depth -name `*.zip` -exec /usr/bin/unzip -n {} \;
लेकिन, मैं नहीं कर सकता निष्कर्षण के बाद एक समय में ज़िप फ़ाइलों को हटाने का तरीका जानें। एक -a -exec में आरएम * .zip जोड़ना निकालने से पहले प्रत्येक निर्देशिका में अधिकांश ज़िप फ़ाइलों को हटा देता है। आरएम कमांड युक्त एक स्क्रिप्ट के माध्यम से पिपिंग (परीक्षण के लिए सक्षम -i) किसी भी * .zips (या कम से कम यही शिकायत नहीं करता) ढूंढने का कारण बनता है। निश्चित रूप से, कई फ़ाइल नामों में सफेद जगह है, लेकिन इस बिंदु पर _ जोड़ने के लिए एक sed कमांड में वाक्यविन्यास मेरे बाहर थोड़ा सा है। मदद के लिए शुक्रिया!
आपका मतलब क्या है 'रिकर्सिवली', ज़िप में ज़िप? जटिल कार्यों के लिए, व्यक्तिगत रूप से मैं एक सहायक स्क्रिप्ट लिखूंगा (कहें 'unzip-and-rm.sh') और -exec उस स्क्रिप्ट। –
अगर मैं पर्याप्त स्पष्ट नहीं था तो मैं क्षमा चाहता हूं। निर्देशिका पेड़ गहरे स्तर पर ज़िप फ़ाइलों के साथ कम से कम छह या सात स्तर नीचे चला जाता है। प्रत्येक ज़िप फ़ाइल में दो अन्य फाइलें होती हैं, और मैं अन्य फ़ाइलों को छूटे रखना चाहता हूं लेकिन फिर ज़िप फ़ाइल को हटा देना चाहता हूं। मेरा मूल प्रयास यहां 'unzip-and-rm' को एक स्क्रिप्ट में प्लग करने के लिए था - और इसे ठीक करें, लेकिन यह किसी भी ज़िप फ़ाइलों को खोजने में विफल रहता है, और मुझे संदेह है कि यह फ़ाइल नामों में रिक्त स्थान के कारण है। – Ben
मुझे नहीं पता कि यह किसी भी ज़िप फ़ाइलों को खोजने में विफल क्यों है, मैं विश्वास नहीं कर सकता, क्या आप कमांड लाइन पेस्ट कर सकते हैं? –