$ grep [options] <MOTIF> <nom_fichier> # ou $ cat <nom_fichier> | grep [options] <MOTIF>
| Option | Example | Description |
|---|---|---|
| -i | grep -i ^DA demo.txt | Ignore la casse |
| -w | grep -w “of” demo.txt | Recherche stricte du motif |
| -A NUM | grep -A 3 'Exception' error.log | Affiche les 3 lignes suivant la chaîne trouvée |
| -B NUM | grep -B 4 'Exception' error.log | Affiche les 4 lignes précédent la chaîne trouvée |
| -C NUM | grep -C 5 'Exception' error.log | Affiche 5 lignes entourant la chaîne trouvée |
| -r | grep -r 'quickref.me' /var/log/nginx/ | Recherche récursive (dans les sous-répertoires) |
| -v | grep -v 'warning' /var/log/syslog | Retourne toutes les lignes ne contenant pas le MOTIF |
| -e | grep -e '^al' filename | Utiliser les regex (lignes commençant par 'al') |
| -E | grep -E 'ja(s|cks)on' filename | Utiliser les regex étendues (lignes contenant 'jason' or 'jackson') |
| -l | grep -l 'robot' /var/log/* | Affiche le nom des fichiers dont le contenu contient le MOTIF |
| Sortie | ||
| -c, –count | grep -c 'error' /var/log/syslog | Nombre de résultats trouvés |
| –color[=WHEN] | Utilisation de couleurs sur les résultats. WHEN est never, always, or auto | |
| -m, –max-count=NUM | Arrête la recherche après NUM résultats | |
| -o, –only-matching | grep -o search_string filename | Affiche seulement la partie recherchée de la chaîne |
| -q, –quiet -s, –silent | N'affiche pas les messages d'erreurs sur les fichiers inexistants ou illisibles | |
| -n | grep -n “go” demo.txt | Affiche le numéro de ligne du résultat |
| . | Any character. |
|---|---|
| ? | Optional and can only occur once. |
| * | Optional and can occur more than once. |
| + | Required and can occur more than once. |
| {n} | Previous item appears exactly n times. |
|---|---|
| {n,} | Previous item appears n times or more. |
| {,m} | Previous item appears n times maximum. |
| {n,m} | Previous item appears between n and m times. |
| [:alpha:] [A-Za-z] | Any lower and upper case letter. |
|---|---|
| [:digit:] [0-9] | Any number. |
| [:alnum:] [0-9A-Za-z] | Any lower and upper case letter or digit. |
| [:space:] | Any whitespace. |
| ^ | Beginning of line. |
|---|---|
| $ | End of line. |
| ^$ | Empty line. |
| \< | Start of word. |
| \> | End of word. |
fic
vache chat VACHE chien vache. 192.268.1.0
Recherche simple
$ grep -i vache ./fic vache VACHE vache. $ grep -w vache ./fic vache
Afficher les numéros de ligne
$ grep -n -r vache ./fic fic:1:vache fic:5:vache.
Inverser la recherche pour exclure
$ grep -i -v vache ./fic chat chien 192.268.1.0
Rechercher alternativement plusieurs chaines
$ grep -e chat -e chien ./fic # ou $ grep -E "chat|chien" ./fic chat chien