grep regex Linux : guide pratique avec exemples utiles

Réponse rapide

grep recherche des motifs texte dans des fichiers. Avec -E, tu utilises les regex étendues. Avec -R, tu parcours un répertoire. Avec -n, tu ajoutes les numéros de ligne.

grep -E "error|fail|timeout" app.log
grep -R --include='*.log' -n "ERROR" /var/log/myapp
grep -i "connection refused" /var/log/syslog

Contexte

Sur un serveur Linux, grep est disponible par défaut dans la majorité des distributions. C’est souvent le premier outil utilisé en troubleshooting parce qu’il est simple, rapide à lancer, et fonctionne même en environnement très restreint.

Ce que dit la doc officielle

  • -E active les expressions régulières étendues.
  • -F traite le motif comme une chaîne fixe (sans regex), utile pour des recherches rapides et sûres.
  • -i ignore la casse.
  • -R / -r recherche récursivement.
  • -n affiche le numéro de ligne.
  • -A, -B, -C affichent du contexte autour des lignes trouvées.

Méthode recommandée en incident

1) Requête simple, scope petit

grep -n "error" app.log

2) Élargir le motif

grep -En "error|failed|timeout" app.log

3) Ajouter le contexte

grep -EnC 3 "error|failed|timeout" app.log

4) Recherche récursive contrôlée

grep -R --include='*.log' -En "error|failed|timeout" /var/log/myapp

Exemples concrets vérifiables

Filtrer des codes HTTP 5xx

grep -E " 50[0-9] " /var/log/nginx/access.log

Chercher une directive Nginx

grep -R --include='*.conf' -n "proxy_pass" /etc/nginx

Trouver les erreurs de service

journalctl -u nginx --no-pager | grep -Ei "error|failed|denied"

Bonnes pratiques

  • utiliser -F quand tu n’as pas besoin de regex (moins d’erreurs de motif),
  • toujours borner le répertoire et l’extension de fichier,
  • documenter les commandes utiles dans un runbook équipe.

Erreurs fréquentes

  • lancer grep -R sur une arborescence gigantesque sans filtre,
  • oublier les quotes autour d’une regex,
  • confondre “aucun résultat” avec “pas de problème”.

FAQ

Quand utiliser -F plutôt que -E ?

Quand tu cherches une chaîne exacte sans regex.

Comment ignorer la casse ?

Avec -i.

Comment afficher 3 lignes avant/après ?

Avec -C 3.

Glossaire rapide

  • Regex : expression régulière pour décrire un motif de recherche texte.
  • MTTR : temps moyen de rétablissement après incident.
  • CI/CD : intégration continue / déploiement continu.
  • Idempotence : relancer une tâche donne le même état final sans effet secondaire indésirable.

Sources officielles

Conclusion

grep reste un outil de base solide pour diagnostiquer vite et proprement, à condition d’utiliser les options adaptées au contexte.

Laisser un commentaire