वाइल्डकार्ड का उपयोग करके टार आर्काइव में विशिष्ट फाइलें निकालें


19

मैं एक स्क्रिप्ट बनाने की कोशिश कर रहा हूँ जिसमें कई तरह की फाइलों वाली आर्काइव से केवल jpeg तस्वीरें निकाली जा सकती हैं।

ऐसा करने के लिए, मैंने उपयोग करने की कोशिश की:

   tar -xf MyTar.tar *.jpg

लेकिन यह विफल रहा (* .jpg नहीं मिला) और मुझे "--wildcard" का उपयोग करने का सुझाव दिया। इसलिए मैंने कोशिश की

tar -xf MyTar.tar --wildcard *.jpg

मैंने ऐसा किया, लेकिन फिर वही त्रुटि और मेरे लिए यह कहते हुए एक अलग चेतावनी कि विकल्प "--wildcard" अस्पष्ट है।

मैं टार के लिए मैन पेजों पर गया हूं, लेकिन समस्या के बारे में कोई सुराग नहीं मिला।


कौन सा टार और कौन सा संस्करण? के परिणामों को पेस्ट करेंtar --version
smci

जवाबों:


33

अंत में, मैंने पाया कि एक अच्छा ब्रेक के बाद जवाब। विकल्प वाइल्डकार्ड है रों बहुवचन, ...

तो आज्ञा

tar -xf MyTar.tar --wildcards "*.jpg"

ठीक वही किया जो मुझे चाहिए था।


3

वाइल्डकार्ड के चारों ओर इस तरह से उद्धरण रखें "*.jpg"ताकि शेल इसे विस्तारित करने का प्रयास न करे और इसके बजाय इसे सीधे टार के माध्यम से पारित करेगा। आप वाइल्डकार्ड का मूल्यांकन करने के लिए टार चाहते हैं, न कि शेल और उद्धरण ऐसा करते हैं।


0

टार के कुछ पुराने संस्करणों के लिए, निम्नलिखित को "मैन" फ़ाइल से निकाला गया है :

संग्रह से फाइल निकालने के लिए फ़ाइलनाम प्रतिस्थापन वाइल्डकार्ड का उपयोग नहीं किया जा सकता है। बल्कि, प्रपत्र की एक कमांड का उपयोग करें:

tar xvf ... /dev/rmt/0 `tar tf ... /dev/rmt/0 | grep 'pattern' `
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.