2012-12-13 17 views
58

मैं जानता हूँ कि अगर मैं केवल कुछ एक्सटेंशन के साथ फ़ाइलों पर एक पैटर्न के लिए grep करना चाहता था, मैं यह कर सकता है कि,:Git ग्रेप

// searches recursively and matches case insensitively in only javascript files 
// for "res" from the current directory 
grep -iIr --include=*.js res ./ 

मैं के लिए एक रास्ता के लिए खोज करने की कोशिश कर रहा है गिट grep के माध्यम से भी ऐसा करें (गिट grep की गति का लाभ उस सूचकांक से प्राप्त करें जो इसे अपने पेड़ से स्टोर करता है), लेकिन इसका कोई फायदा नहीं हुआ। मैंने here देखा कि कुछ फ़ाइल प्रकारों को छोड़कर संभव नहीं है।

उत्तर

99

हाँ, उदाहरण के लिए:

git grep res -- '*.js' 
+2

एक मामूली संशोधन - अगर आप अपने भंडार की जड़ में नहीं हैं, 'Git ग्रेप रेस - '/ * .js'' बेहतर हो सकता है ... – twalberg

+1

@twalberg: लेकिन टिप्पणी से पता चलता है कि वह वर्तमान निर्देशिका [नीचे] से निश्चित रूप से देखना चाहता है? –

+0

आह ... सही ... प्रश्न विशेष रूप से यह नहीं कहा था, लेकिन कोड ब्लॉक में टिप्पणी करता है। – twalberg

2

यह करके देखें:

find . -type f -iname '*.js' -exec grep -i 'pattern' {} +