Réponse rapide
grep est le standard historique et très portable. ripgrep (rg) est conçu pour une recherche récursive rapide dans des arbres de fichiers, notamment en développement.
grep -R "TODO" .
rg "TODO" .
Contexte
Les deux outils sont valides. Le bon choix dépend d’abord de l’environnement cible : serveur minimal, machine de dev, CI, ou conteneur avec outillage limité.
Comparatif factuel
- grep est généralement présent par défaut sur Linux.
- rg n’est pas toujours installé par défaut.
- rg suit par défaut des conventions pratiques pour le code (ex. fichiers ignorés via
.gitignore), ce qui peut accélérer les recherches en dépôt. - grep est souvent plus simple à assumer dans des scripts “universels”.
Cas d’usage recommandés
Production / scripts d’exploitation
grep -R --include='*.log' -En "error|panic" /var/log/myapp
Développement local
rg -n "PaymentGateway" src/
rg -n "TODO|FIXME" .
Convention d’équipe pratique
- Runbooks prod : commandes grep.
- Dev local : rg autorisé pour la vitesse et l’ergonomie.
- Scripts partagés : fallback si rg absent.
Exemple de fallback robuste
if command -v rg >/dev/null 2>&1; then
rg -n "error|warn" .
else
grep -R -En "error|warn" .
fi
Pièges à éviter
- imposer rg sur des serveurs où il n’existe pas,
- oublier que les comportements par défaut diffèrent selon l’outil.
FAQ
rg remplace-t-il totalement grep ?
Non. grep reste essentiel pour la portabilité.
Lequel est “le meilleur” ?
Celui qui répond au contexte technique et opérationnel.
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
Standardise ton choix par contexte (prod/dev) pour gagner en fiabilité et en lisibilité d’équipe.