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
-Eactive les expressions régulières étendues.-Ftraite le motif comme une chaîne fixe (sans regex), utile pour des recherches rapides et sûres.-iignore la casse.-R/-rrecherche récursivement.-naffiche le numéro de ligne.-A,-B,-Caffichent 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
-Fquand 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 -Rsur 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
- man grep
- GNU grep manual
- journalctl (systemd)
- man ss
- Ansible Vault docs
- Ansible Playbooks
- Securing Debian Manual
Conclusion
grep reste un outil de base solide pour diagnostiquer vite et proprement, à condition d’utiliser les options adaptées au contexte.
