La commande grep sous Linux

Voici des exemples d’utilisations de la commande grep sous Linux.

1. Recherche simple dans un fichier :

Rechercher le mot « erreur » dans un fichier nommé fichier.log :

grep "erreur" fichier.log

2. Recherche insensible à la casse :

Rechercher le mot « erreur » (en majuscules ou minuscules) :

grep -i "erreur" fichier.log

3. Recherche récursive dans un dossier :

Rechercher le mot « erreur » dans tous les fichiers du dossier courant et de ses sous-dossiers :

grep -r "erreur" .

4. Afficher les numéros de ligne :

Afficher les lignes contenant « erreur » avec leur numéro de ligne :

grep -n "erreur" fichier.log

5. Recherche inversée :

Afficher les lignes qui ne contiennent pas le mot « erreur » :

grep -v "erreur" fichier.log

6. Utilisation d’expressions régulières :

Rechercher des lignes commençant par « Erreur » (avec une majuscule) :

grep "^Erreur" fichier.log

7. Compter le nombre de correspondances :

Compter le nombre de lignes contenant le mot « erreur » :

grep -c "erreur" fichier.log

8. Rechercher dans plusieurs fichiers :

Rechercher le mot « erreur » dans plusieurs fichiers :

grep "erreur" *.log

9. Afficher les noms de fichiers contenant le motif :

Afficher uniquement les noms des fichiers contenant le mot « erreur » :

grep -l "erreur" *.log

10. Utilisation avec des tubes (pipes) :

Rechercher « erreur » dans la sortie de la commande dmesg :

dmesg | grep "erreur"

11. Recherche de mots entiers :

Rechercher uniquement le mot entier « erreur » (et non des parties de mots)

grep -w "erreur" fichier.log

12. Afficher les lignes avant/après la correspondance :

Afficher 3 lignes avant et après chaque correspondance :

grep -A 3 -B 3 "erreur" fichier.log

13. Utilisation de motifs complexes :

Rechercher des lignes contenant soit « erreur » soit « avertissement » :

grep -E "erreur|avertissement" fichier.log

14. Rechercher dans des fichiers compressés :

Rechercher dans des fichiers compressés (avec zgrep) :

zgrep "erreur" fichier.log.gz

15. Combiner avec d’autres commandes :

Compter le nombre total de lignes contenant « erreur » dans tous les fichiers .log :

grep -c "erreur" *.log | awk '{sum += $1} END {print sum}'

Sources : Le Chat Mistral

https://chat.mistral.ai/chat

Retour en haut