Tutoriel sur les expressions régulières Linux : exemple de Grep Regex
⚡ Résumé intelligent
Les expressions régulières Linux sont des séquences de caractères spéciales qui permettent de rechercher des données et de faire correspondre des modèles complexes dans des outils tels que grep, sed et vi, en utilisant des formes de base, d'intervalle, étendues et d'expansion d'accolades pour filtrer le texte avec précision.

Les expressions régulières sont l'une des fonctionnalités les plus puissantes de Linux Outils de texte permettant de faire correspondre, filtrer et transformer des données à l'aide de modèles compacts. Cette page explique les formes de base, d'intervalle et étendue, ainsi que l'expansion des accolades, avec des exemples d'utilisation de grep.
Que sont les expressions régulières Linux ?
Les expressions régulières Linux sont des caractères spéciaux qui facilitent la recherche de données et la correspondance de modèles complexes. Elles sont abrégées en « regexp » ou « regex ». Elles sont utilisées dans de nombreux programmes Linux, tels que : grep, bash, rename, sed, et plus encore.
Types d'expressions régulières
Pour faciliter la compréhension, apprenons les différents types d'expressions régulières une à une. Cette page aborde les expressions régulières de base, d'intervalle et étendues, et se termine par l'expansion des accolades.
Expressions régulières de base
Parmi les commandes couramment utilisées qui fonctionnent avec les expressions régulières, on trouve tr, sed, viet grep. Le tableau ci-dessous répertorie quelques expressions régulières de base.
| Symbole | Description |
|---|---|
| . | Remplace n'importe quel caractère |
| ^ | Correspond au début d'une chaîne de caractères |
| $ | Correspond à l'extrémité d'une chaîne |
| * | Correspond zéro ou plusieurs fois au caractère précédent |
| \ | Représente des caractères spéciaux |
| () | Groupes d'expressions régulières |
| ? | Correspond exactement à un caractère |
Prenons un exemple. Tout d'abord, exécutez la commande `cat sample` pour afficher le contenu d'un fichier existant, comme indiqué ci-dessous.
Ensuite, recherchez le contenu contenant la lettre « a ». La capture d'écran ci-dessous montre que grep renvoie toutes les lignes contenant un « a ».
Le symbole accent circonflexe « ^ » correspond au début d'une chaîne de caractères. L'exemple ci-dessous recherche le contenu commençant par la lettre « a ».
Seules les lignes commençant par le caractère « a » sont filtrées. Les lignes ne commençant pas par ce caractère sont ignorées.
Prenons un autre exemple. La capture d'écran ci-dessous montre à nouveau le contenu du fichier d'exemple avant le filtrage par fin de ligne.
Sélectionnez uniquement les lignes se terminant par la lettre « t » en utilisant l’ancre « $ », comme indiqué ci-dessous.
Expressions régulières d'intervalle
Ces expressions indiquent le nombre d'occurrences d'un caractère dans une chaîne. Elles sont listées ci-dessous.
| Expression | Description |
|---|---|
| {n} | Correspond exactement au caractère précédent apparaissant 'n' fois |
| {n,m} | Correspond au caractère précédent apparaissant 'n' fois mais pas plus de m |
| {n, } | Correspond au caractère précédent uniquement lorsqu'il apparaît « n » fois ou plus |
Par exemple, filtrez toutes les lignes contenant le caractère « p ». La capture d'écran ci-dessous montre les lignes correspondantes.
Vérifiez maintenant que le caractère « p » apparaît exactement deux fois dans une chaîne, l’une après l’autre. La syntaxe est la suivante :
cat sample | grep -E p\{2}
Le résultat de la correspondance d'intervalles est indiqué ci-dessous.
Remarque : Vous devez ajouter -E avec ces expressions régulières.
Expressions régulières étendues
Ces expressions régulières combinent plusieurs expressions. En voici quelques exemples :
| Expression | Description |
|---|---|
| \+ | Correspond à une ou plusieurs occurrences du caractère précédent |
| \? | Correspond à zéro ou une occurrence du caractère précédent |
Par exemple, recherchez toutes les occurrences du caractère « t ». La capture d’écran ci-dessous montre le résultat.
Supposons que vous souhaitiez filtrer les lignes où le caractère « a » précède le caractère « t ». Vous pouvez utiliser une commande comme celle ci-dessous :
cat sample|grep "a\+t"
Le résultat est visible dans la capture d'écran suivante.
Expansion de l'accolade
La syntaxe pour l'expansion des accolades est soit une séquence, soit une liste d'éléments séparés par des virgules et placés entre accolades '{}'. Les éléments de début et de fin d'une séquence sont séparés par deux points '..'.
Quelques exemples sont présentés ci-dessous.
Dans les exemples ci-dessus, la commande echo crée des chaînes de caractères en utilisant l'expansion des accolades, produisant plusieurs chaînes à partir d'un seul motif.










