मैंने अपने लिए कुछ फ़ाइल संचालन करने के लिए एक स्क्रिप्ट रखी। मैं *एक प्रकार की सभी फ़ाइलों पर फ़ंक्शंस लागू करने के लिए वाइल्ड कार्ड ऑपरेटर का उपयोग कर रहा हूं , लेकिन एक चीज है जो मुझे नहीं मिलती है। मैं unzipइस तरह एक फ़ोल्डर में सभी फ़ाइलों को कर सकते हैं
unzip "*".zip
हालांकि, बाद में सभी ज़िप फ़ाइलों को हटाने के लिए, मुझे करने की आवश्यकता है
rm *.zip
यही है, यह उद्धरण चिह्नों को नहीं चाहता है। दूसरी ओर, अनज़िप, काम नहीं करता है अगर मैं सिर्फ इसे * देता हूं (मुझे एक चेतावनी देता है कि "फाइलें मेल नहीं खाती थीं")।
यह अलग क्यों है? मेरे लिए, यह ठीक उसी ऑपरेशन की तरह लगता है। या मैं गलत तरीके से वाइल्ड कार्ड का उपयोग कर रहा हूं?
यूनिक्स में वाइल्ड कार्ड के लिए परिचय वास्तव में इसमें नहीं जाते हैं, और मैं rmया zipडॉक्स में कुछ भी पता नहीं लगा सका ।
मैं एक मैक (Yosemite) पर टर्मिनल का उपयोग कर रहा हूं।
unzipएक संग्रह की सामग्री पर ग्लोब लागू करता है; आप उन्हें वाइल्डकार्ड के साथ बैश नहीं कर सकते। (आपको f के लिए `` `की आवश्यकता होगी unzip -l archive.zip... किया`)
unzipग्लोब स्वीकार करने के बारे में एक ही ज़िप फ़ाइल के अंदर पता था । लेकिन यह अलग है; मैं वास्तव unzip '*.zip'में कई ज़िप फ़ाइलों के साथ एक निर्देशिका में कोशिश की है, और यह सभी ज़िप से सभी फ़ाइलों को निकालता है। जैसे मैंने कहा, सुपर-अजीब। tarइस तरह के ऑपरेशन का कोई तरीका नहीं है।
unzipकि यह सामान्यfor f in *.zip;do...doneशेल लूप के बिना हो सकता है । इस तरह के एक अजीब गैर-यूनिक्स जैसी कमांड लाइन यूआई।