2011-03-21 8 views
6

पर grep विशिष्ट फ़ाइल प्रकार मेरे पास मैक ओएस एक्स बर्फ तेंदुए है। मैं xterm टर्मिनल का उपयोग कर रहा इस आदेश grep -R --color=auto setHeader *.js का उपयोग कर विशिष्ट स्ट्रिंग grep के लिए, लेकिन मैं कह त्रुटि मिलती है जब मैं इस आदेश चलामैक

grep: \*.js: No such file or directory 

तो मेरे सवाल का कैसे मैं मैक पर एक विशिष्ट फ़ाइल प्रकार के लिए grep कर सकते हैं?

उत्तर

5

ऐसा करने के लिए सबसे अच्छा तरीका है find और grep आदेश गठबंधन करने के लिए है:

find . -name "*.js" -exec grep --color=auto setHeader {} \; 
+0

धन्यवाद लॉरेंट। यह काम किया! – Amrish

0

समस्या "-आर" ध्वज है। इसका उपयोग करते समय, आपको एक निर्देशिका निर्दिष्ट करने की आवश्यकता है। आप एक खोज कमांड का उपयोग कर बेहतर होगा:

ढूंढें। -नाम "* .js" -exec grep "setHeader" '{}' \;

यदि आप grep का उपयोग करना चाहते हैं, तो बस "।" फ़ाइल पैटर्न के लिए "* .js" के बजाय।

0

त्रुटि संदेश दर्शाता है कोई '* .js' अपने वर्तमान निर्देशिका में फ़ाइलों को देखते हैं कि। यदि आप एक निर्देशिका वृक्ष पार करने के लिए चाहते हैं, तो आप ऐसा कर सकते हैं:

find <startdirectory> -name '*.js' -exec grep --color=auto setHeader '{}' ';' 
बेशक

क्या आप . उपयोग कर सकते हैं निर्देशिका आप अभी हैं निरूपित करने के लिए सही startdirectory में भरने की जरूरत है,

6

grep --include=*.js -R . --color=auto setHeader

के बाद से उदाहरण दिए गए का उपयोग करता है "फ़ाइल प्रकार = फाइल एक्सटेंशन", यह सिर्फ काम करना चाहिए।

1

यह एक मैक ओएस 10.8 पर मेरे लिए काम करता है:

grep --include=*.js -r setHeader .