Outils pour utilisateurs

Outils du site


Panneau latéral

linux:egrep (lu 34378 fois)

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 *

Générer un mot de passe

strings /dev/urandom | grep -o '[[:alpha:]]' | head -n 6 | tr -d '\n'; echo
  • strings permet de n’afficher que les caractères normaux issu de urandom qui peut renvoyer du binaire
  • grep -o n’affiche que les caractères qu’on lui donne. ici que de l’alpha, on peut mettre alnum pour alphanumérique etc..
linux/egrep.txt · Dernière modification: 20-12-2018 10:19 de edmc73