मैक खोज -नाम * .पीएनजी काम नहीं करता [डुप्लिकेट]


3

इस सवाल का पहले से ही यहाँ एक जवाब है:

मैं एक फ़ाइल नाम को समाप्त करने के लिए पुनरावर्ती खोज करने का प्रयास कर रहा हूं। मेरी खोज कमांड * .js के लिए ठीक काम करती है, लेकिन * .png के लिए नहीं।

~ >find dev -name *.png
~ >find dev -name bluerightarrow.png
dev/sandbox/ScheduleEditorTS/ScheduleEditorTS/img/bluerightarrow.png
~ >find dev -name *.js
dev/backup/ScheduleEditorTS/packages/jQuery.2.1.3/Content/Scripts/jquery-2.1.3-vsdoc.js
dev/backup/ScheduleEditorTS/packages/jQuery.2.1.3/Content/Scripts/jquery-2.1.3.js
... etc 


एक सहकर्मी ने सुझाव दिया कि मैं सिर्फ ईज़ी
माइक

जवाबों:


3

आपके पास शायद .pngआपकी वर्तमान निर्देशिका में एक फ़ाइल है और यह *आपके शेल द्वारा विस्तारित है।

यहाँ एक व्यावहारिक व्याख्या है। नाम वाली निर्देशिका बनाएं test, तो एक दूसरे से कहा जाता है subकि इसके अंदर और अंत में एक फ़ाइल कहा जाता है myfile.txtमें sub। फिर cdमें test। यहाँ ऐसा करने के आदेश दिए गए हैं:

~ >mkdir -p test/sub
~ >touch test/sub/myfile.txt
~ >cd test

आप दौड़ सकते हैं findऔर आपको अपेक्षित परिणाम मिलेंगे:

~/test >find sub -name *.txt
sub/myfile.txt

अब एक फाइल बनाएं जिसका नाम cause.txtमें testऔर चलाने के findफिर से:

~/test >touch cause.txt
~/test >find sub -name *.txt

इस बार कुछ भी नहीं मिला क्योंकि शेल का विस्तार होता है *और आपकी findकमांड बन जाती है:

~/test >find sub -name cause.txt

कोई cause.txtफ़ाइल नहीं है sub, इसलिए कोई परिणाम नहीं हैं।

इस समस्या से बचने के लिए आपको बैकस्लैश के साथ तारांकन से बचना होगा:

~/test >find sub -name \*.txt
sub/myfile.txt

1
आप पैटर्न को उद्धरण में भी लपेट सकते हैं, जो इस एक मामले में अधिक काम करते हैं, आमतौर पर मुझे लगता है कि आसान है। विशेष रूप से एक बार आपको you ब्ला ’या bar फू बार *’ जैसे पैटर्न खोजने की जरूरत है ।
कैमडेन नार्केट

1
मामले में उपरोक्त टिप्पणी आपके लिए असंवेदनशील लग रही है: मुझे संदेह है कि कैमडेन नार्केट ने टाइप किया *blah*और मार्कडाउन *foo*bar*को समझे बिना।
स्कॉट
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.