Recherche rapide de motifs dans les fichiers avec la commande grep

Le par Anthony Domps.

Dans tout projet de code ou dans un ensemble de fichiers texte, il arrive souvent qu’on ait besoin de retrouver rapidement toutes les occurrences d’un mot, d’une variable, d’une fonction ou de tout autre motif précis. Plutôt que de fouiller manuellement, grep est un allié incontournable.

grep -rn --include="*.ext" "motif_a_chercher" /chemin/vers/dossier/

Que fait cette commande ?

Elle parcourt récursivement tous les fichiers du répertoire indiqué, mais seulement ceux correspondant au filtre --include, et affiche les lignes contenant le motif recherché avec leur numéro.

Options détaillées

  • -r : recherche récursive dans tous les sous-dossiers.
  • -n : affiche le numéro de ligne de chaque occurrence.
  • --include="*.ext" : limite la recherche aux fichiers d’un certain type (ex. *.txt, *.js, *.py).
  • "motif_a_chercher" : le texte ou expression à rechercher.
  • /chemin/vers/dossier/ : répertoire de départ pour la recherche.

Exemple de sortie

/projet/src/fichier.txt:42:maVariable = 10;

Variantes avancées

Pour des motifs plus complexes, utilisez des expressions régulières :

grep -rn --include="*.ext" -E "motif_complexe" /chemin/vers/dossier/

Cas d'usage

  • Retrouver toutes les occurrences d’une variable, d’une fonction ou d'une classe
  • Identifier où un mot-clé spécifique est utilisé dans un projet
  • Explorer des fichiers de configuration, logs, scripts ou code source
  • Faciliter le refactoring ou l’audit de tout type de projet

Conclusion

Que ce soit pour du code, des fichiers texte ou des logs, grep et ses variantes permettent de naviguer efficacement et de retrouver exactement ce que l’on cherche, sans perdre de temps à fouiller manuellement.