Linux fournit grep
pour le filtrage de texte. Mais dans certaines situations, nous pouvons avoir besoin d’un outil plus étendu pour faire correspondre un motif donné dans des fichiers texte donnés. Cet outil est appelé Extended Global Regular Expression Print
ou simplement egrep
. egrep
fournit des fonctionnalités étendues par rapport à l’outil régulier grep
.
La syntaxe de la commande egrep
est comme ci-dessous.
egrep FLAG REGEX FILE
- `FLAG` est utilisé pour changer certains comportements de la commande `egrep`.
- `REGEX` est le motif que nous voulons rechercher au format regex.
- `FILE` est le nom du fichier dans lequel nous allons rechercher
Recherche normale
Nous pouvons utiliser egrep
pour rechercher un texte normal sans fournir d’expression régulière. Nous devons juste fournir le terme que nous voulons rechercher. Dans cet exemple, nous allons rechercher ismail
dans le fichier nommé /etc/passwd
.
$ egrep ismail /etc/passwd
Match Lines Contains Numeric Characters
Nous pouvons spécifier des caractères numériques en utilisant qui signifie une des valeurs numériques de 0 à 9.
$ egrep ''/etc/passwd
Les lignes à apparier contiennent des caractères alphabétiques
Nous pouvons également spécifier des caractères alphabétiques avec pour les caractères minuscules et
pour les caractères majuscules. Dans cet exemple, nous allons rechercher les caractères majuscules.
$ egrep ''/etc/passwd
Match All Lines Starting with Alphabet
Nous pouvons rechercher le début des lignes avec le signe ^
. Dans cet exemple, nous allons chercher toutes les lignes où commence le caractère alpha.
$ egrep '^' myinput.py
Match All Lines Ending with Numeric
Nous pouvons spécifier la fin de la ligne avec le signe $
. La commande suivante listera toutes les lignes qui se terminent par un caractère numérique.
$ egrep '$' myinput.py
Match Caseinsenstive
egrep
est sensible à la casse par défaut. La sensibilité à la casse signifie que les caractères majuscules et minuscules seront différents comme A
est différent de a
. Nous pouvons rendre notre correspondance insensible à la casse si nous le voulons avec l’option -i
comme drapeau. L’exemple suivant correspondra à tous les mots suivants
- IsmaiL
- ismAIL
- ISMAIL
$ egrep -i 'ismail' myinput.py