grep
Traitement de texte
Syntaxe
grep -rn '[pattern]' [path]Extrait les lignes correspondant à un motif ; il lit du regex basique par défaut, donc + ? | et () exigent -E ou un antislash.
Options courantes
| Option | Signification |
|---|---|
| -i | Ignore case |
| -r | Search a whole directory tree; -R also follows symlinks |
| -n | Print the line number of each hit |
| -v | Invert: print the lines that do not match |
| -l | Print only the names of the files that matched |
| -w | Match whole words only |
| -E | Extended regex, so + ? | and () work unescaped |
| -C | Print N lines of context around each hit |
Exemples
grep -rn 'TODO' src/Every TODO in the tree, with file and line.
grep -v '^#' nginx.confDrops the comment lines.
ps aux | grep '[n]ginx'Finds nginx without matching the grep itself.
Ils sont faits pour être chaînés avec des tubes. Trois commandes reliées sont souvent plus courtes qu’une seule qui fait tout.
Comment lire
- Les crochets [ ] marquent une partie facultative.
- Les points de suspension … signifient qu’on peut en mettre plusieurs.
- Les options sont sensibles à la casse : sur certaines commandes, -r et -R ne font pas la même chose.
Questions fréquentes
Q. Que fait grep ?
Extrait les lignes correspondant à un motif ; il lit du regex basique par défaut, donc + ? | et () exigent -E ou un antislash.
Q. Comment l’écrire ?
grep -rn '[pattern]' [path] — les crochets marquent ce qui est facultatif.
Q. Combien d’options valent la peine ?
Il y en a 8 ici ; la liste complète est dans man grep. Cette commande relève de Traitement de texte.
Commandes liées
page man: man grep