Sous Linux/Unix, il existe un outil de ligne de commande appelé grep
vous pouvez l'utiliser pour rechercher plusieurs fichiers pour une chaîne. Pour des exemples si je voulais rechercher strcpy
dans tous les fichiers :
~/sandbox$ grep -rs "strcpy"*
test.c: strcpy(OSDMenu.name,"OSD MENU");
-r
donne des recherches récursives afin que vous obteniez tous les fichiers de tous les répertoires (à partir de celui en cours) recherchés. -s
ignore les avertissements, au cas où vous rencontreriez des fichiers illisibles.
Maintenant, si vous vouliez rechercher quelque chose de personnalisé, et que vous ne vous souvenez plus du cas, il y a des options comme -i
pour permettre des recherches insensibles à la casse.
~/sandbox$ grep -rsi "myint" *
test.c: int myInt = 5;
test.c: int MYINT = 10;
Vous pouvez également utiliser des expressions régulières au cas où vous auriez oublié le nom exact de ce que vous cherchiez (en effet, le nom 'grep' vient de la commande sed g/re/p -- global/regular expression/print :
~/sandbox$ grep -rsi "my.*" *
test.c: int myInt = 5;
test.c: int MYINT = 10;
test.c: float myfloat = 10.9;
installez cygwin si vous n'utilisez pas *nix et utilisez find/grep, par ex.
find . -name '*\.[ch]' | xargs grep -n 'myfuncname'
Vous pouvez utiliser grep pour rechercher dans les fichiers à l'aide du terminal/ligne de commande.
grep -R "string_to_search" .
-R pour être récursif, rechercher également dans tous les sous-répertoires
Ensuite, chaîne que vous voulez
Ensuite, c'est l'emplacement, . pour le répertoire courant