linux:commandes_utiles:grep
Table des matières
Linux
GREP
Syntaxe
$ 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 |
Wildcards
. | Any character. |
---|---|
? | Optional and can only occur once. |
* | Optional and can occur more than once. |
+ | Required and can occur more than once. |
Quantification
{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. |
Caractères POSIX
[: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. |
Position
^ | Beginning of line. |
---|---|
$ | End of line. |
^$ | Empty line. |
\< | Start of word. |
\> | End of word. |
Exemples
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
linux/commandes_utiles/grep.txt · Dernière modification : 2022/11/14 14:59 de zandor