मैं कुछ समय के लिए प्रयास कर रहा हूं और मानता हूं कि मैं इसके काफी करीब हूं, लेकिन मैं यूनिक्स के लिए बिल्कुल नया हूं इसलिए इसे मुश्किल लग रहा है।सभी ज़िप खोजें, और जगह में अनजिप करें - यूनिक्स
मेरे पास एक फ़ोल्डर है, जिसमें कई फ़ोल्डर्स हैं, जिनमें से कुछ में ज़िप फ़ाइलें हैं, कुछ जो नहीं करते हैं। मैं किसी भी उप निर्देशिका में सभी ज़िप फ़ाइलों को अनजिप करने का प्रयास कर रहा हूं।
उदाहरण के लिए मेरे पास है:
फ़ाइलें/ए/something.java
फ़ाइलें/बी/somezipfile.zip
फ़ाइलें/सी/someotherfile.zip
फ़ाइलें/डी/AnotherZipFile.zip
मैं उन्हें अनजिप करना चाहता हूं (लगता है कि ज़िप में केवल .java फाइलें हैं), परिणामस्वरूप: फ़ाइलें/ए/something.ja va
फ़ाइलें/बी/javafile.java
फ़ाइलें/सी/someotherfilefromzip.java
फ़ाइलें/डी/Anotherfile.java
मुझे कोई आपत्ति नहीं है ज़िप फ़ाइलें रहने या कर रहे हैं अनजिप करने के बाद हटा दिया गया, या तो ठीक है।
मैंने अभी तक क्या प्रयास किया है।
find . -name *.zip | unzip
यह काम नहीं करता:
1) मुझे लगता है मैं पाइपिंग, जो मैं करने के लिए नया हूँ, इस तरह इस्तेमाल कर सकते हैं उम्मीद है।
2) मैं खोज कुछ समय बिताया, निकटतम मैं एक समाधान का उपयोग किया गया ऑनलाइन है:
find . -name '*.zip' -exec unzip '{}' ';'
इस unzips, लेकिन उन्हें वर्तमान कार्यशील निर्देशिका में unzips, मैं उन्हें जगह में अनज़िप करने के लिए करना चाहता था। मैं इस आदेश को भी समझ नहीं पा रहा हूं जिसे मैं सीखना चाहता हूं।
किसी भी मदद की बहुत सराहना की जाती है।
धन्यवाद,
यह एक अच्छा जवाब जैसा दिखता है, कोई भी मौका जो आप कर सकते हैं (बहुत जल्दी) इसे समझने में मेरी मदद करते हैं? थोड़ा सा मैं इसके बारे में उलझन में हूं- exec और {} अंक की आवश्यकता है। – ThePerson
जोड़ा गया स्पष्टीकरण –
यदि ज़िप फ़ाइल फ़ाइल में कोई स्थान है, तो मुझे कोई समस्या है, क्या इसके लिए कोई आसान समाधान है? – ThePerson