Můžete použít ack. Je to jako grep pro zdrojový kód. Můžete s ním skenovat celý systém souborů.
Stačí udělat:
ack 'text-to-find-here'
Ve vašem kořenovém adresáři.
Můžete také použít regulární výrazy, určit typ souboru atd.
AKTUALIZACE
Právě jsem objevil The Silver Searcher, který je jako ack, ale 3-5x rychlejší než on a dokonce ignoruje vzory z .gitignore soubor.
Postupujte takto:
grep -rnw '/path/to/somewhere/' -e 'pattern'
-rnebo-Rje rekurzivní,-nje číslo řádku a-wznamená shodu celého slova.-l(malé L) lze přidat a zadat pouze název souboru odpovídajících souborů.-eje vzor použitý při vyhledávání
Spolu s těmito --exclude , --include , --exclude-dir příznaky by mohly být použity pro efektivní vyhledávání:
- Tímto prohledáte pouze ty soubory, které mají příponu .c nebo .h:
grep --include=\*.{c,h} -rnw '/path/to/somewhere/' -e "pattern"
- Toto vyloučí prohledávání všech souborů končících příponou .o:
grep --exclude=\*.o -rnw '/path/to/somewhere/' -e "pattern"
- U adresářů je možné vyloučit jeden nebo více adresářů pomocí
--exclude-dirparametr. Například to vyloučí dirs dir1/, dir2/ a všechny odpovídající *.dst/:
grep --exclude-dir={dir1,dir2,*.dst} -rnw '/path/to/somewhere/' -e "pattern"
To pro mě funguje velmi dobře, k dosažení téměř stejného účelu jako vy.
Další možnosti viz man grep .
Použijte grep -ilR :
grep -Ril "text-to-find-here" /
iznamená ignorovat velikost písmen (ve vašem případě volitelné).Rznamená rekurzivní.lznamená „zobrazit název souboru, nikoli samotný výsledek“./znamená spuštění v kořenovém adresáři vašeho počítače.