Utilitaire Grep Valid XHTML 1.1Cette page est conforme à la norme CSS!Mise à jour 08-2002
SOMMAIRE

Présentation
Les exemples détaillés
Les outils et liens
Télécharger les exemples
PRESENTATIONRetour en haut de page

Grep permet de manipuler les expressions régulières. Celles-ci (appelées regexp) ont été inventées pour standardiser et faciliter la recherche de chaînes de caractères dans des fichiers.

Les expressions régulières sont utilisées dans Grep mais aussi dans de nombreux autres outils (sed, perl, ...).


Les expressions régulières

Le principe est la définition de motifs de recherche et la combinaison de ceux-ci pour exprimer des conditions complexes. (caractères joker, duplication, négation, relation OU, choix multiple, ...).

Voir ci-dessous une liste d'exemples expliqués. Le flot d'entrée signifie : une ligne du fichier d'entrée. Bien entendu, tous les motifs peuvent être combinés à loisir.

Motif Signification
abc La chaîne de caractères abc, n'importe où dans le flot d'entrée
a.c La lettre a séparée de la lettre c par n'importe quoi, n'importe où dans le flot d'entrée
^abc La chaîne abc au début d'une ligne du flot d'entrée
abc$ La chaîne abc à la fin d'une ligne du flot d'entrée
[abc] Une des lettres a, b ou c, n'importe où dans le flot d'entrée
[^abc] Aucune des lettres a, b ou c, n'importe où dans le flot d'entrée
[a-f] Une des lettres a, b, c, d, e ou f, n'importe où dans le flot d'entrée
ABC | XYZ Une des chaînes ABC ou XYZ, n'importe où dans le flot d'entrée
[:digit:] Motif spécial, équivalent de [0123456789] : un chiffre, n'importe où dans le flot d'entrée
(ab){3}c La chaîne ab, multipliée 3 fois, suivie de la lettre c, n'importe où dans le flot d'entrée, équivalent de abababc
[A-Z][:digit:] Une lettre majuscule, suivie d'un chiffre, n'importe où dans le flot d'entrée

Cette liste n'est pas exhaustive : on peut la compléter en lisant l'aide de grep ou d'un autre outil utilisant les expressions régulières.


Grep

Grep est un outil d'utilisation des expressions régulières.

Il lit en entrée un ou plusieurs fichiers et liste sur la sortie standard les lignes correspondant au motif indiqué.
Des paramètres dans la ligne de commande permettent de changer ce comportement par défaut :
  • compter les occurences du motif au lieu d'afficher les lignes,
  • afficher le n° de la ligne contenant le motif,
  • indiquer la position du motif en nombre de caractères dans le fichier,
  • afficher le nom des fichiers contenant ou ne contenant pas le motif,
  • ne pas distinguer majuscules/minuscules ...

LES EXEMPLES DETAILLESRetour en haut de page

Les exemples présentés ci-dessous sont simples mais permettent de bien appréhender le fonctionnement des expressions régulières et les différentes variantes d'utilisation apportées par grep.

Afin de bien expliciter les résultats, la commande grep est incluse dans un shell qui permet de gérer l'affichage d'un texte explicatif, ainsi que divers paramètres de la commande; c'est ce shell qui est appelé dans chacun des exemples présentés.

gr0

Le programme teste les différentes possibilités de recherche de caractères. Pour étendre les exemples, diverses options de grep sont testées : fichiers multiples, comptage, non concordance ...

gr1

Cet exemple est consacré au test de duplication des caractères.

Il démontre l'utilisation des {} dans la définition des caractères multiples.
Bien sûr, plusieurs peuvent être imbriqués et mixés avec d'autres pour exprimer des motifs complexes.

LES OUTILS ET LIENSRetour en haut de page

grep

Grep est fourni avec toutes les distributions de Linux.
De l'aide sur les expressions régulières est disponible dans le man de grep.