GNU/Linux >> Tutoriels Linux >  >> Linux

Un moyen rapide de rechercher certaines lignes de code dans de nombreux fichiers d'un projet

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


Linux
  1. Tester la recherche et le remplacement Sed récursifs avant l'exécution ?

  2. Meilleur moyen de rechercher dans l'historique de Shell ?

  3. Comment rechercher des fichiers par taille et extension ?

  4. Façon de rechercher des pages de manuel pour un scénario d'utilisation typique ?

  5. Comment rechercher dans des fichiers spécifiques correspondant à un modèle ?

Comment effectuer une recherche de modèle dans les fichiers à l'aide de Grep

Cloc - Compter les lignes de code source dans de nombreux langages de programmation

Comment effectuer une recherche Grep sur tous les fichiers et dans tous les répertoires

Comment rechercher le contenu de plusieurs fichiers pdf ?

Utilisation de grep pour rechercher une chaîne contenant un point

Recherche d'une chaîne dans plusieurs fichiers sous Linux