Académique Documents
Professionnel Documents
Culture Documents
Outils de Manipulation de Texte
Outils de Manipulation de Texte
texte
Réalisé par:
Maha SABKI
Sommaire:
Les expressions régulières:
Conventions d’écriture
Les expressions régulières atomiques: era
La construction d’une expression régulière
Combinaison d’expression régulière
D’autres expressions régulières atomiques
Les expressions régulières de base
La commande grep:
Les caractères spéciaux dans les expressions régulières
La commande sed:
La commande d’édition de sed
Quelques commandes d’édition
La commande awk:
Caractéristiques du langage
La ligne de commande awk
Le programme awk
La commande tr
Les expressions
régulières
DÉFINITION:
On appelle expression régulière atomique (era) un motif constitué d’un seul carac-
tère appartenant à un ensemble précis.
Exemples:
abc § la chaîne abc
[Oo]ui § la chaîne Oui ou la chaîne oui
[A Z][0 9].. § une majuscule suivie d'un chiffre suivi de deux
caractères quelconques :
§ A8b5 ou Z444 mais pas h7fu
[a z][0 9].\. § une minuscule suivie d'un chiffre suivi
§ d'un caractère quelconque suivi d'un
§ point : a8b. ou h6.. mais pas Z67f
• La quantification:
Les quantifieurs permettent de définir combien de fois l’era qui
précède est
répétée. Si ⊗ désigne une expression régulière atomique les
quantifieurs utilisables
sont les suivants :
Quantifieur Signification
⊗* tout mot de 0 à N caractères vérifiant ⊗
⊗+ tout mot de 1 à N caractères vérifiant ⊗
⊗? tout mot de 0 à 1 caractère vérifiant ⊗
⊗{n} tout mot de n caractères vérifiant ⊗
⊗{n1,n2} tout mot de n1 à n2 caractères vérifiant ⊗
⊗{n1,} tout mot d’au moins n1 caractères vérifiant ⊗
⊗{,n2} tout mot de 0 à n2 caractères vérifiant ⊗
Exemples:
Exemples:
^linux § linux en début de ligne
linux$ § une ligne terminée par linux
^linux$ § une ligne ne contenant que linux
^$ § une ligne vide
Combinaison d’expression régulière
Exemples:
linux|unix § le mot linux ou le mot unix
^linux|^unix § le mot linux ou le mot unix au début
[A Z]{8}|[0 9]{4} § 8 lettres majuscules ou 4 chiffres
• Le groupage:
Cette opération se fait par (…) et la notation W…
Mettre une expression régulière entre parenthèses ne change rien à cette
expression. Les parenthèses semblent inutiles. Cette notation offre cependant
deux possibilités :
● les quantifieurs peuvent s’appliquer à de telles expressions,
● la notation \N, où N est un nombre de 1 à 9, désigne la chaîne de caractères
qui a vérifié l’expression placée dans la Nème paire de parenthèses.
Exemples:
tsoin § tsoin et aucune autre chaîne
tsoin{2} § tsoinn et aucune autre chaîne : Le quantifieur {2} n’est appliqué
qu’au dernier n
(tsoin){2} § tsointsoin et aucune autre chaîne : Le quantifieur {2} est appliqué à
l’expression tsoin
(bla|tsoin){2} § blabla ou tsointsoin ou blatsoin ou tsoinbla
(bla|tsoin)\1 § blabla ou tsointsoin MAIS PAS blatsoin ni tsoinbla
Attention:
\0 désigne le caractère <null> et \N ne référence la nième paire de paren-
thèses que si elle existe.
Dans le groupage par (), la notation \N peut être complétée par * + ou ? avec
les significations habituelles :
● \1* signifie 0 à N fois la chaîne qui a vérifié le premier sous-motif
● \3+ signifie 1 à N fois la chaîne qui a vérifié le troisième sous-motif
● \2? signifie 0 ou 1 fois la chaîne qui a vérifié le deuxième sous-motif
Cette notation est appelée : référence arrière à une sous-chaîne (back-
reference to a sub-string). Elle permet de désigner une chaîne inconnue au
moment de l’écriture de l’expression, comme par exemple :
"une chaîne identique au premier mot de la ligne ".
D’autres expressions régulières atomiques:
sed est éditeur ligne non interactif, il lit les lignes d'un fichier une
à une (ou provenant de l'entrée standard) leur applique un
certain nombre de commandes d'édition et renvoie les lignes
résultantes sur la sortie standard. Il ne modifie pas le fichier traité,
il écrit tout sur la sortie standard.
La syntaxe de sed est la suivante:
sed -e 'programme sed' fichier-a-traiter
ou
sed -f fichier-programme fichier-a-traiter
Important
Le programme awk est placé entre apostrophes simples,
car il comporte presque toujours des caractères susceptibles
d’être interprétés par le shell.
Le programme awk: