Outils pour utilisateurs

Outils du site


Panneau latéral

linux:egrep (lu 25301 fois)

Ceci est une ancienne révision du document !


Grep et egrep

Exemples

Chercher le nombre de mail envoyé pour un jour donné

cat /var/log/mail.log | egrep '^Jan  6.* to=' | wc -l

Compter le nombre de mail en queue dans postfix

mailq | grep -v "Mail queue is empty" | grep -c '^[0-9A-Z]'
* -v prend toutes les lignes sauf ce dont on passe en argument
* -c compte le nombre de ligne suivant un pattern

Chercher plusieurs motifs

grep -E "(pomme|banane|kiwi)" toto.txt
grep -E "pomme|banane|kiwi" toto.txt

Rechercher un motif dans une arborescence

grep -rHin --color motif *
  • -r : recursif
  • -H : affiche le nom du fichier qui contient le motif
  • -i : insensible à la casse
  • -n : affiche le numéro de ligne ou se trouve le motif
  • –color : met de la couleur dans le résultat (il est conseillé de faire un alias grep=‘grep –color’

Le PATTERN utilise par défaut une expression régulière basic de type BRE. Les options suivantes permettent de définir un autre type de regex

  • -E permet l’extended regex ERE
  • -P permet le perl regex PRCE

Toutes la doc du BRE est dispo dans le man grep, qq exemple

grep '192.168.0.[123]' toto.txt

Affichera les ip dont le dernier nombre commence par 1 ou 2 ou 3 (.1 .2 .3 .10 .11 .23 .256)

grep '192.168.0.[^1]' toto.txt

Affichera les ip dont le dernier nombre ne commence pas par 1

Rechercher sur des fichiers avec une extension spécifique

grep -rHin --include \*.h --include \*.cpp motif *
linux/egrep.1542884423.txt.gz · Dernière modification: 22-11-2018 12:00 de edmc73