Sysop.Fr
Cat├ęgories

apache

awk

bash

charmap

date

echo

encoding

find

grep

hexdump

irc

iso3166

ls

mysql

printf

python

read

sed

seq

smpp

sort

tar

ucp

Articles

Mémo de la commande grep

La commande grep sert à rechercher une chaine de caractères.

1. Options de la commande grep

-atraite un fichier binaire comme du texte équivalent à --binary-files=text
-ila recherche devient insensible à la casse
-ccompte le nombre de lignes contenant la chaine de caractères
-vla recherche est inversée, les lignes ne contenant pas la chaine de caractères seront affichées
-hsupprime l'affichage des noms de fichiers dans le résultat
-naffiche le numéro de ligne contenant la chaine de caractères
-laffiche le nom de fichier contenant la chaine de caractères
-E(ou egrep) indique que la chaine recherchée est une expression régulière
-oimprime seulement les parties (non vides) d'une ligne qui correspondent à la chaine de caractères
-qsupprime l'affichage du résultat. Fournit le code retour de la recherche uniquement dans la variable $?

^début de ligne
.un caractère quelconque
$fin de ligne
x*zéro ou plus d'occurrences du caractère x (par exemple .* recherche n'importe quel caractère existant ou pas)
x+une ou plus occurrences du caractère x
x?une occurrence unique du caractère x
[...]plage de caractères permis
[^...]plage de caractères interdits
\ {n\}pour définir le nombre de répétition n du caractère placé devant

2. Exemples d'utilisation de la commande grep

Recherche des lignes commencant par "Lundi" dans le fichier /tmp/mylog
grep "^Lundi" /tmp/mylog
Recherche des lignes qui ne soient pas vides OU qui ne commencent pas par le caractère #
grep -Ev "^(#|$)" /tmp/mylog
Recherche du nombre de lignes qui ne soient pas vides OU qui ne commencent pas par le caractère #
grep -Evc "^(#|$)" /tmp/mylog
Recherche des fichiers contenant "warning" OU "WARNING" dans un répertoire
grep -li "warning" /tmp/*.log
Recherche d'une chaine de caractères et affichage de celui-ci uniquement
grep -aho '127.0.*alh' /etc/hosts