2012-12-13 11 views
58

wiem, że gdybym chciał grep dla wzorzec tylko pliki z określonymi rozszerzeniami, mogę to zrobić:git grep przez rozszerzeń plików

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

Próbowałem szukać sposobu na zrób to również poprzez git grep (aby wykorzystać szybkość git grep z indeksów przechowywanych wraz z drzewem), ale bez skutku. Widziałem here, że wykluczenie pewnych typów plików nie jest możliwe.

Odpowiedz

99

Tak, na przykład:

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

Jednym niewielkim modyfikacji - jeśli nie jesteś w głównym repozytorium, 'git grep res -„/ * .js'' może być lepszy ... – twalberg

+1

@twalberg: Ale komentarz sugeruje, że chce wyglądać z bieżącego katalogu [w dół], z pewnością? –

+0

Ah ... racja ... Pytanie to nie mówiło konkretnie, ale komentarz w bloku kodu robi. – twalberg

2

spróbować zrobić to:

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