Apprendre la commande grep sur Linux

Oxelya
16 octobre 2025
0 vues
0 commentaires
0.0/5 (0 votes)

Grep permet de trouver facilement des éléments textuels dans un ou plusieurs fichiers elle est utile dans bien des cas.

Apprendre la commande grep sur Linux

Cheat Sheet : Commande grep sur Linux

La commande grep (Global Regular Expression Print) est un outil puissant pour rechercher des motifs dans des fichiers ou des flux de texte. Elle est indispensable pour l'analyse de logs, le filtrage de sortie de commandes et la recherche dans des scripts.

🔹 Syntaxe de base

La syntaxe de grep est simple :

bash
grep [options] PATTERN [FICHIER...]

Vous pouvez chercher un motif spécifique dans un fichier ou plusieurs fichiers. Par exemple, rechercher une erreur dans un log :

bash
grep 'erreur' /var/log/syslog

Cette commande est très utile pour filtrer rapidement des informations dans des fichiers volumineux.

🔹 Options essentielles

Les options suivantes permettent d'adapter grep à différents scénarios de recherche :

Option Description
-i Ignore la casse (utile pour des recherches insensibles à la majuscule/minuscule)
-v Inverse la correspondance (affiche les lignes ne correspondant pas)
-r ou -R Recherche récursive dans les dossiers (pratique pour chercher dans tout un projet)
-n Affiche le numéro de ligne (utile pour localiser la correspondance)
-l Liste uniquement les noms de fichiers contenant le motif
-L Liste uniquement les fichiers ne contenant pas le motif
-c Compte le nombre de correspondances
-w Correspondances exactes de mots entiers
-x Correspondance exacte de ligne entière
-q Mode silencieux (pratique pour les scripts)
-H Affiche le nom du fichier dans le résultat
--color=auto Colorise la correspondance pour meilleure lisibilité

Exemple d'utilisation :

bash
grep -in 'erreur' /var/log/syslog

Ici, on recherche erreurs dans le fichier en ignorant la casse et en affichant les numéros de ligne.

🔹 Options pour les expressions régulières

Pour des recherches plus avancées, grep prend en charge les expressions régulières :

Option Description
-E Utilise les expressions régulières étendues (comme egrep)
-F Recherche des motifs littéraux, pas d'expressions régulières
-P Utilise Perl regex (support avancé)

Exemple :

bash
grep -E 'error|warning' fichier.log

Cette commande est idéale pour rechercher plusieurs motifs en même temps dans des logs.

🔹 Combinaisons courantes

Voici quelques combinaisons classiques de grep pour des usages fréquents :

Commande Description
grep -rn 'motif' ./ Recherche récursive avec numéro de ligne
grep -ri 'motif' ./ Recherche récursive et insensible à la casse
grep -rl 'motif' ./ Liste les fichiers contenant le motif
grep -rL 'motif' ./ Liste les fichiers ne contenant pas le motif
grep -v 'motif' fichier.txt Affiche toutes les lignes sauf celles correspondant au motif
grep -c 'motif' fichier.txt Compte le nombre de correspondances dans le fichier
grep -n -i 'motif' fichier.txt Insensible à la casse avec numéro de ligne

Ces combinaisons sont utiles pour analyser rapidement des projets ou des logs systèmes.

🔹 Recherche dans les fichiers compressés

Avec zgrep, vous pouvez rechercher directement dans les fichiers compressés .gz :

bash
zgrep 'motif' fichier.gz

Cela évite de décompresser les fichiers manuellement et gagne du temps.

🔹 Utilisation avec d'autres commandes

grep est souvent combiné avec des pipes pour filtrer la sortie d'autres commandes :

bash
ps aux | grep nginx
bash
dmesg | grep --color=auto 'usb'

Ces usages sont essentiels pour le diagnostic rapide et le débogage sur Linux.

🔹 Astuces avancées

  • Afficher N lignes avant/après la correspondance :
bash
grep -C 3 'motif' fichier.txt   # 3 lignes avant/après
bash
grep -B 2 'motif' fichier.txt   # 2 lignes avant
bash
grep -A 4 'motif' fichier.txt   # 4 lignes après
  • Compter et trier les occurrences :
bash
grep -o 'motif' fichier.txt | wc -l
  • Combiner plusieurs motifs :
bash
grep -E 'motif1|motif2' fichier.txt
  • Motifs exacts (mots entiers) :
bash
grep -w 'mot' fichier.txt
  • Exclure certains fichiers ou dossiers :
bash
grep -r --exclude='*.log' 'motif' ./
grep -r --exclude-dir='backup' 'motif' ./

Ces astuces avancées rendent grep extrêmement flexible pour des recherches ciblées.

🔹 Ressources complémentaires

  • man grep : documentation complète
  • info grep : guide détaillé
  • Tutoriels en ligne pour expressions régulières et scripts shell
Noter cet article
Donnez votre avis sur cet article
Connectez-vous pour noter

Commentaires (0)

Connectez-vous pour ajouter un commentaire

Aucun commentaire pour le moment. Soyez le premier à commenter !