Quand on commence à utiliser le terminal, tout paraît un peu austère. Des lignes noires, des commandes parfois étranges et ce petit sentiment de “ce n’est pas pour moi”. Pourtant, certaines commandes changent vraiment la vie, et GREP fait clairement partie de celles qui vous donneront l’impression d’avoir des super-pouvoirs.
- Comprendre enfin comment utiliser GREP sans stress et gagner un temps précieux en apprenant une méthode claire et accessible, même en étant débutant.
- Savoir rechercher efficacement des informations précises dans des fichiers ou projets entiers, sans se perdre dans des milliers de lignes.
- Devenir plus autonome avec le terminal et se sentir plus à l’aise pour analyser, filtrer et manipuler des données textuelles comme un utilisateur avancé.
Le principe est simple: GREP sert à rechercher du texte. Mais quand on creuse un peu, on découvre qu’il peut filtrer des logs, retrouver une information précise dans des milliers de lignes, analyser des fichiers, vérifier des erreurs, et même nous faire gagner un temps fou au quotidien.
Dans ce guide, nous allons partir de zéro. Pas besoin d’être un expert du terminal, pas besoin de connaître la programmation. Vous allez apprendre pas à pas, avec un langage clair, des explications simples et des exemples concrets que vous pourrez tester directement.
- Qu’est-ce que GREP ? À quoi sert-il ?
- Premiers pas : utiliser GREP simplement
- Rechercher dans plusieurs fichiers à la fois
- Ignorer la casse : parce que tout le monde ne tape pas pareil
- Afficher le numéro des lignes trouvées
- Rechercher un mot exact et éviter les faux positifs
- Afficher uniquement les lignes qui ne correspondent PAS
- Rechercher dans tout un dossier, et même dans ses sous-dossiers
- Ajouter de la couleur pour mieux lire les résultats
- Trouver uniquement les fichiers contenant un mot
- GREP et les expressions régulières : doucement, mais sûrement
- Utiliser GREP avec d’autres commandes : la magie des pipes
- Compter le nombre d’occurrences trouvées
- Afficher un peu de contexte autour du résultat
- Tableau récapitulatif des commandes et paramètres pour GREP
Qu’est-ce que GREP ? À quoi sert-il ?
Avant d’entrer dans les détails, posons des bases solides. Le mot GREP vient d’un vieux monde, celui d’UNIX, et signifie à l’origine : Global Regular Expression Print. Derrière ce nom un peu barbare se cache une idée très simple : chercher et afficher ce qui correspond à un texte donné.
Pour dire les choses autrement, GREP lit un fichier, observe chaque ligne, et affiche uniquement celles qui contiennent ce que vous avez demandé. Cela en fait une sorte de détective du terminal. Vous lui donnez un mot, une expression, une idée… et il part fouiller partout pour vous.
Par exemple, imaginons que vous avez un fichier notes.txt et que vous voulez afficher toutes les lignes contenant le mot “HTML”. Vous écrivez simplement dans votre terminal:
grep "HTML" notes.txtEt comme par magie, seules les lignes contenant “HTML” apparaissent. Pas besoin d’ouvrir le fichier, pas besoin de le parcourir à la main, GREP fait le travail.
Premiers pas : utiliser GREP simplement
Entrons dans du concret avec des bases que vous pourrez tester immédiatement. La structure de GREP est toujours la même:
grep "mot_à_rechercher" nom_du_fichierSi vous tapez une expression valide, le terminal affiche uniquement les lignes correspondant à votre recherche. Sinon, rien ne s’affiche, et ce n’est pas grave: cela veut simplement dire que votre mot n’existe pas dans ce fichier.
Essayons une autre situation très réaliste. Vous êtes développeur web ou administrateur système, et vous avez un fichier log.txt contenant des centaines de lignes avec des messages d’erreur. Pour afficher uniquement les erreurs contenant le mot “ERROR” vous écrivez :
grep "ERROR" log.txtInstantanément, vous voyez uniquement ce que vous cherchez. Croyez-moi, quand vous aurez goûté à ça, vous n’aurez plus jamais envie de faire une recherche “manuelle”.
Rechercher dans plusieurs fichiers à la fois
La commande GREP ne se contente pas de fouiller dans un seul fichier. Il peut aussi analyser plusieurs fichiers simultanément. Par exemple, si vous avez plusieurs fichiers .txt dans un dossier, et que vous souhaitez rechercher un mot dans tous, utilisez:
grep "HTML" *.txtLe terminal va parcourir tous les fichiers texte et afficher pour chaque ligne trouvée le nom du fichier + la ligne correspondante. Cela peut paraître anodin, mais quand vous avez beaucoup de documents, mais ça vous évite d’ouvrir chaque fichier un par un. C’est déjà une petite révolution en soi.
Ignorer la casse : parce que tout le monde ne tape pas pareil
Un point important: par défaut, GREP est sensible aux majuscules et aux minuscules. Chercher “HTML” n’est pas la même chose que chercher “html”. Heureusement, il existe une option magique :
grep -i "html" fichier.txtLe -i signifie “ignore case”. Autrement dit, peu importe si c’est HTML, Html, hTmL ou html… GREP considère que c’est la même chose.
Cela peut paraître anecdotique, mais en réalité ça évite beaucoup d’erreurs et de frustrations. Vous vous concentrez sur le contenu, pas sur la forme du mot.
Afficher le numéro des lignes trouvées
Il arrive souvent que vous ne vouliez pas seulement voir la ligne correspondant à votre recherche, mais aussi savoir où elle se trouve dans le fichier. Là encore, GREP vous aide avec une option très simple.
grep -n "HTML" cours.txtCette fois, chaque ligne affichée est précédée de son numéro dans le fichier. Vous savez donc exactement où se situe l’information. Cela devient extrêmement utile dès que vous devez corriger quelque chose dans un fichier long.
Rechercher un mot exact et éviter les faux positifs
Par défaut, GREP trouve toutes les chaînes contenant votre texte, même si ce n’est qu’une partie d’un mot. Par exemple, si vous cherchez “cat”, GREP pourra afficher “category”, “concatenate”, etc. Ce n’est pas toujours ce que l’on veut.
Pour rechercher uniquement le mot exact, on utilise l’option suivante:
grep -w "cat" animaux.txtLe -w signifie “word match”, donc correspondance sur un mot entier. Vous évitez ainsi les mauvaises correspondances.
Afficher uniquement les lignes qui ne correspondent PAS
Parfois, on veut faire l’inverse. Non pas afficher ce qui contient un mot, mais tout ce qui ne le contient pas. Cela sert souvent quand on veut nettoyer un fichier, filtrer certains messages ou isoler des informations pertinentes.
grep -v "ERROR" log.txtIci, -v signifie “inverse match”. Toutes les lignes contenant “ERROR” sont exclues, et vous ne voyez que le reste.
Rechercher dans tout un dossier, et même dans ses sous-dossiers
Jusque-là, nous avons surtout vu comment utiliser GREP dans un fichier précis ou sur quelques fichiers. Mais souvent, vous aurez besoin de fouiller dans tout un projet, dans un dossier complet, voire dans plusieurs niveaux de sous-dossiers. C’est là que GREP devient encore plus puissant et intéressant.
Pour cela, il existe l’option -r ou -R, qui signifie recherche récursive. Concrètement, GREP va traverser chaque dossier, parcourir chaque fichier, et filtrer tout ce qu’il trouve. Voici un exemple très courant dans le développement web.
Imaginons que vous avez un projet contenant des fichiers .html, .css, .js, des images, des dossiers, bref… tout un petit monde. Et vous voulez savoir dans quel fichier se trouve le mot “navbar”. Vous allez dans le dossier du projet et vous tapez :
grep -r "navbar" .Le petit point signifie “ici”, c’est-à-dire le dossier actuel. Le terminal va alors vous afficher, ligne par ligne, les fichiers où ce mot apparaît. En plus, il précise devant chaque résultat le nom du fichier concerné. C’est extrêmement pratique lorsqu’on ne sait pas où se trouve une information dans un gros projet.
Si vous souhaitez que GREP indique aussi le nom du fichier même lorsqu’il n’y a qu’un seul fichier analysé, vous pouvez ajouter l’option -H :
grep -rH "navbar" .Cela renforce la lisibilité et évite les confusions.
Ajouter de la couleur pour mieux lire les résultats
Le terminal, par défaut, peut paraître un peu tristounet. Heureusement, GREP sait aussi mettre un peu de couleur pour rendre la lecture plus agréable et plus claire.
Avec l’option --color=auto, chaque occurrence du mot recherché sera mise en surbrillance, souvent en rouge ou en jaune selon votre terminal. Par exemple :
grep --color=auto "HTML" cours.txtVous verrez votre mot apparaître en couleur au milieu des lignes, ce qui permet d’identifier instantanément où se situe la correspondance.

Des formations informatique pour tous !
Débutant ou curieux ? Apprenez le développement web, le référencement, le webmarketing, la bureautique, à maîtriser vos appareils Apple et bien plus encore…
Formateur indépendant, professionnel du web depuis 2006, je vous accompagne pas à pas et en cours particulier, que vous soyez débutant ou que vous souhaitiez progresser. En visio, à votre rythme, et toujours avec pédagogie.
Découvrez mes formations Qui suis-je ?Beaucoup d’utilisateurs réguliers de GREP activent cette option en permanence via la configuration du terminal, car elle améliore vraiment l’expérience au quotidien.
Trouver uniquement les fichiers contenant un mot
Il arrive parfois que vous ne vouliez pas afficher les lignes, mais uniquement savoir quels fichiers contiennent votre expression recherchée. Cela arrive souvent lorsque l’on travaille sur un projet et que l’on veut localiser rapidement le fichier pertinent.
Dans ce cas, l’option -l (minuscule L) est parfaite. Elle n’affiche pas les lignes, seulement le nom des fichiers correspondants.
grep -rl "password" .Ici, vous obtenez une liste propre des fichiers qui contiennent le mot “password”. C’est idéal quand vous devez retrouver une configuration sensible, une variable, une traduction, une fonction… bref, tout ce qui doit être localisé sans surcharger l’écran.
L’inverse existe aussi : savoir quels fichiers ne contiennent pas un mot
De manière assez logique, GREP propose également l’option inverse. Avec :
grep -rL "password" .Vous verrez uniquement les fichiers qui ne contiennent pas le mot recherché.
C’est très pratique lorsqu’on doit vérifier si une expression est bien utilisée partout, par exemple lorsque vous migrez une fonction ou un mot-clé dans un gros projet.
GREP et les expressions régulières : doucement, mais sûrement
À un moment donné, vous entendrez parler d’un terme qui peut faire peur : les expressions régulières, souvent abrégées en “regex”. Derrière ce mot, il y a simplement une manière un peu plus intelligente de rechercher du texte.
GREP sait parfaitement utiliser ces expressions, ce qui le rend redoutablement puissant. Mais ne paniquez pas : on peut commencer très simple.
Par exemple, si vous voulez rechercher des lignes qui commencent par un mot précis, vous pouvez utiliser le symbole ^. Imaginons dans un fichier de notes, vous cherchez toutes les lignes qui commencent par “INFO”.
grep "^INFO" log.txtAutre cas fréquent, rechercher quelque chose qui se trouve à la fin d’une ligne. On utilise cette fois le symbole $.
grep "error$" log.txtCette commande affichera uniquement les lignes qui se terminent par “error”.
Vous pouvez aussi rechercher des motifs un peu plus souples. Par exemple, toutes les lignes contenant un nombre :
grep -E "[0-9]" fichier.txtL’option -E permet d’activer les expressions régulières dites “étendues”, plus puissantes. On pourrait aller bien plus loin dans les regex, mais à ce stade, l’idée est de comprendre que GREP ne se limite pas à une simple recherche de mot. Il peut réellement analyser des motifs précis dans vos fichiers.
Utiliser GREP avec d’autres commandes : la magie des pipes
Si un jour vous vous mettez à utiliser souvent le terminal, vous découvrirez un mécanisme incroyable : la capacité de connecter plusieurs commandes entre elles grâce au symbole |, appelé “pipe”. GREP devient alors un véritable filtre, capable d’affiner les résultats des autres commandes.
Prenons un exemple très courant. Vous voulez voir quels processus tournent sur votre machine, mais uniquement ceux liés à “chrome”. Vous pouvez taper :
ps aux | grep chromeLa première commande liste tous les processus. La seconde, GREP, ne garde que ceux contenant “chrome”. En quelques millisecondes, vous obtenez une information claire et utile.
Autre situation très fréquente, rechercher un mot dans le résultat d’un fichier affiché avec cat :
cat fichier.txt | grep "html"Techniquement, GREP peut lire directement un fichier, donc cet exemple sert surtout à comprendre la logique du pipe, mais vous verrez qu’il devient très utile dans plein d’autres cas.
Compter le nombre d’occurrences trouvées
Parfois, vous ne voulez pas afficher les lignes, mais simplement savoir combien il y en a. Là encore, GREP a une option très pratique : -c.
grep -c "ERROR" log.txtCela vous renvoie un simple chiffre, le nombre de lignes contenant “ERROR”.
Très utile pour analyser des logs, vérifier des occurrences, ou simplement prendre la température d’un fichier.
Afficher un peu de contexte autour du résultat
Enfin, il existe une fonctionnalité que très peu de débutants connaissent, mais qui est extrêmement pratique. Il s’agit de pouvoir afficher non seulement la ligne trouvée, mais aussi quelques lignes avant ou après pour comprendre ce qui se passe autour.
Pour afficher quelques lignes avant le résultat, on utilise -B (comme “Before”) :
grep -B 2 "ERROR" log.txtVous verrez la ligne contenant “ERROR” et les deux lignes au-dessus.
Pour afficher après, c’est -A (comme “After”) :
grep -A 3 "ERROR" log.txtEt pour faire les deux à la fois, avant et après, on utilise -C :
grep -C 2 "ERROR" log.txtCela donne un vrai contexte à votre recherche, et souvent cela évite d’ouvrir le fichier dans un éditeur juste “pour voir ce qu’il y a autour”.
Tableau récapitulatif des commandes et paramètres pour GREP
| Commande / Paramètre | Rôle | Exemple | Résultat |
|---|---|---|---|
grep "mot" fichier | Rechercher un mot dans un fichier | grep "HTML" notes.txt | Affiche les lignes contenant “HTML” |
grep -i "mot" fichier | Recherche insensible à la casse | grep -i "html" notes.txt | Trouve HTML, Html, hTmL, etc. |
grep -n "mot" fichier | Afficher le numéro des lignes | grep -n "HTML" notes.txt | Montre la ligne + son numéro |
grep -w "mot" fichier | Trouver uniquement le mot exact | grep -w "cat" text.txt | Ignore « category », garde « cat » |
grep -v "mot" fichier | Exclure les lignes contenant le mot | grep -v "ERROR" log.txt | Affiche tout sauf les erreurs |
grep -r "mot" dossier | Recherche récursive dans les dossiers | grep -r "navbar" . | Parcourt tous les fichiers |
grep -H "mot" fichier | Afficher toujours le nom du fichier | grep -H "HTML" notes.txt | Utile pour lecture claire |
grep -l "mot" * | Afficher seulement les fichiers contenant le mot | grep -l "password" . | Liste uniquement les fichiers concernés |
grep -L "mot" * | Fichiers ne contenant pas le mot | grep -L "password" . | Utile pour audits |
grep --color=auto "mot" fichier | Mettre les résultats en couleur | grep --color=auto "HTML" notes.txt | Mots surlignés |
grep -c "mot" fichier | Compter les occurrences | grep -c "ERROR" log.txt | Donne un chiffre |
grep -A X "mot" | Afficher X lignes après | grep -A 3 "ERROR" log.txt | Contexte après |
grep -B X "mot" | Afficher X lignes avant | grep -B 2 "ERROR" log.txt | Contexte avant |
grep -C X "mot" | Afficher X lignes avant et après | grep -C 2 "ERROR" log.txt | Contexte complet |
grep -E "regex" | Expressions régulières étendues | grep -E "[0-9]" fichier.txt | Recherche plus avancée |
^mot | Ligne commençant par… | grep "^INFO" log.txt | Trouve lignes débutant par INFO |
mot$ | Ligne finissant par… | grep "error$" log.txt | Trouve lignes finissant par error |
Vous venez d’apprendre à manier l’une des commandes les plus utiles et les plus utilisées du terminal. Derrière un nom un peu étrange, GREP cache une véritable boîte à outils de recherche, capable de scanner des fichiers, parcourir des dossiers entiers, filtrer, compter, colorer, contextualiser, analyser des motifs et même collaborer avec d’autres commandes.
Si vous débutez avec le terminal, vous venez peut-être de vivre un petit déclic. Ce genre de commande change vraiment la façon dont on travaille. On gagne du temps, on comprend mieux ses fichiers, on se sent plus en contrôle. Et surtout, on réalise que le terminal n’est pas un ennemi, mais un allié redoutablement efficace.
Maintenant, la meilleure chose à faire est de pratiquer. Testez GREP sur vos propres fichiers, expérimentez, essayez des options, faites des erreurs, recommencez. Petit à petit, il deviendra naturel, et vous oublierez même que vous en aviez peur un jour. Et honnêtement, le jour où vous trouverez en une seconde quelque chose qui vous aurait pris dix minutes à la main, vous aurez probablement un petit sourire satisfait devant votre écran… et vous saurez pourquoi tant de gens adorent travailler dans le terminal.

Fondateur de l’agence Créa-troyes, affiliée France Num
Intervenant en Freelance.
Contactez-moi
