के नीचे अनजिप करें हाय मुझे एक फ़ाइल को अनजिप करना है जिसमें निर्देशिका हो सकती है और मैं उस निर्देशिका के भीतर सबकुछ बाहर करना चाहता हूं, मैंने बहुत सारे विकल्पों की कोशिश की और यहां भी देखा, लेकिन ऐसा प्रतीत नहीं होता कोई अच्छा समाधान खोजने के लिए।लिनक्स फ़ोल्डर में सबकुछ को छोड़कर और
ये ज़िप फ़ाइल की सामग्री को कर रहे हैं: को अपवर्जित फ़ोल्डर अज्ञात है की गहराई कृपया ध्यान दें, लेकिन हम मैं इस आदेश है, जो केवल यह भीतर फ़ाइलों को अलग करने की कोशिश की सब कुछ बाहर करने के लिए
$unzip -l patch2.zip
Archive: patch2.zip
Length Date Time Name
--------- ---------- ----- ----
0 2013-10-29 17:42 EXCLUDE/
0 2013-10-29 17:24 EXCLUDE/inner/
0 2013-10-29 17:24 EXCLUDE/inner/inner1.txt
0 2013-10-29 15:45 EXCLUDE/file.txt
0 2013-10-29 15:44 patch.jar
0 2013-10-29 15:44 system.properties
--------- -------
0 6 files
है, लेकिन फ़ोल्डर और इसकी सामग्री नहीं:
$unzip -l patch2.zip -x EXCLUDE/*
Archive: patch2.zip
Length Date Time Name
--------- ---------- ----- ----
0 2013-10-29 17:42 EXCLUDE/
0 2013-10-29 17:24 EXCLUDE/inner/
0 2013-10-29 17:24 EXCLUDE/inner/inner1.txt
0 2013-10-29 15:44 patch.jar
0 2013-10-29 15:44 system.properties
--------- -------
0 5 files
सहायता के लिए धन्यवाद।
उत्तर के लिए +1 क्योंकि यह ओपी के प्रश्न के करीब है। मेरा खुद का सिर्फ "अच्छा जानना" वैकल्पिक ^^ है (जो अब थोड़ा ज्ञात है, जबकि यह शुरुआती लिनक्स दिनों में काफी प्रसिद्ध था) –
धन्यवाद यह पूरी तरह से काम करता है। क्या आप कृपया बता सकते हैं कि इसका मतलब क्या है "यह अनजिप करने के लिए पारित किया जाता है। अन्यथा इसे अनजिप करने से पहले खोल द्वारा विस्तारित किया जाएगा"। – Ravi
@Ravi [Globbing] के बारे में पढ़ें (http://tldp.org/LDP/abs/html/globbingref.html) जो तब होता है जब शैल वाइल्डकार्ड पैटर्न को फ़ाइल नामों में परिवर्तित करता है। उदाहरण के लिए, जब आप 'echo *' चलाते हैं, तो खोल फ़ाइल नामों की सूची में "विस्तारित" '*' उदा। 'echo' निष्पादित करने से पहले 'file1',' file2' आदि। नतीजतन, 'echo * 'echo file1 file2' बन जाता है। 'Echo' प्रोग्राम वाइल्डकार्ड को कभी नहीं देखता है, यह केवल तर्क' file1' और 'file2' को देखता है। लेकिन, यदि आप पैटर्न उद्धृत करते हैं, तो 'echo "*" '', खोल इस विस्तार को निष्पादित नहीं करेगा और पैटर्न को प्रोग्राम के लिए एक तर्क के रूप में पारित किया जाएगा जो इसे समझ सकता है हालांकि यह चुनता है। – dogbane