0Pricing
Linux Command Line & Bash Scripting Mastery · Leçon

Grep avancé avec les expressions régulières

Appliquez des motifs regex complexes avec « grep » pour effectuer des recherches textuelles très ciblées et efficaces dans les fichiers.

Grep avancé avec les expressions régulières est une leçon Linux Command Line & Bash Scripting Mastery gratuite sur CoddyKit. Ceci est la leçon 2 sur 4. Tu peux lire la leçon complète ci-dessous gratuitement — puis la pratiquer en direct dans le navigateur avec un éditeur de code intégré et un tuteur IA 24/7. Elle fait partie du parcours d'apprentissage Linux Command Line & Bash Scripting Mastery, et ta progression se synchronise sur le web et l'application CoddyKit. Le cours Linux Command Line & Bash Scripting Mastery comprend 4 leçons au total.

Les superpouvoirs des expressions régulières de grep

Bienvenue dans le cours avancé sur grep et les expressions régulières ! Dans la leçon précédente, nous avons découvert les expressions régulières elles-mêmes. À présent, libérons tout leur potentiel au sein de la puissante commande grep.

grep est l’outil de référence pour rechercher des motifs textuels dans des fichiers. En le combinant avec des expressions régulières avancées, vous pouvez cibler exactement ce que vous cherchez, quelle que soit la complexité du motif.

Activer les expressions régulières étendues (-E)

Par défaut, grep utilise les expressions régulières de base (BRE). Pour utiliser des fonctionnalités plus avancées telles que +, ?, | et (), nous devons activer les expressions régulières étendues (ERE).

Vous pouvez le faire avec l’option -E ou en utilisant la commande egrep, qui est essentiellement grep -E. Créons un fichier d’exemple avec lequel travailler :

echo "apple
banana
appanana
orange
app" > fruits.txt

Quantificateurs : un ou plusieurs (+)

Le quantificateur + correspond à une ou plusieurs occurrences du caractère ou du groupe qui le précède. Il est très utile lorsque vous vous attendez à ce qu’un motif se répète au moins une fois.

Par exemple, pour trouver les lignes contenant « p » suivi d’un ou plusieurs « a », nous utiliserions pa+.

grep -E 'pa+' fruits.txt

Quantificateurs : zéro ou plusieurs (*)

Le quantificateur * correspond à zéro ou plusieurs occurrences du caractère ou du groupe qui le précède. Il est utile lorsqu’un caractère peut être présent, mais n’est pas strictement requis.

Trouvons les lignes contenant « b » suivi de zéro ou plusieurs « a » :

grep -E 'ba*' fruits.txt

Quantificateurs : zéro ou un (?)

Le quantificateur ? correspond à zéro ou une occurrence du caractère ou du groupe qui le précède. Considérez-le comme un moyen de rendre un caractère facultatif.

Vous voulez trouver à la fois « color » et « colour » ? Vous pouvez rendre le « u » facultatif :

echo "color
colour
coor" > words.txt
grep -E 'colou?r' words.txt

Nombres précis avec {} (accolades)

Pour un contrôle encore plus précis, vous pouvez indiquer des nombres exacts ou des intervalles à l’aide des accolades {} :

  • a{3} : exactement trois « a ».
  • a{2,} : deux « a » ou plus.
  • a{1,3} : entre un et trois « a ».

Trouvons les lignes où « a » est répété exactement deux fois :

grep -E 'a{2}' fruits.txt

Ancres : début et fin (^, $)

Les ancres ne correspondent pas à des caractères ; elles correspondent à des positions. L’ancre ^ correspond au début d’une ligne, et $ correspond à la fin d’une ligne.

C’est essentiel pour garantir que votre motif correspond à toute la ligne ou commence et se termine précisément là où vous le souhaitez.

  • ^apple : lignes commençant par « apple ».
  • banana$ : lignes se terminant par « banana ».
  • ^apple$ : lignes contenant uniquement « apple ».
grep -E '^app' fruits.txt

Alternance avec OR (|)

Le symbole | (barre verticale) agit comme un opérateur OR. Il vous permet de rechercher un motif OR un autre. C’est particulièrement utile pour rechercher simultanément plusieurs mots ou expressions distincts.

Par exemple, pour trouver les lignes contenant soit « apple », soit « orange » :

grep -E 'apple|orange' fruits.txt

Regrouper des motifs avec ()

Les parenthèses () servent à regrouper des parties d’une expression régulière. Vous pouvez ainsi appliquer des quantificateurs ou une alternance à tout un groupe, et pas seulement à un caractère unique.

Par exemple, pour trouver « ana » apparaissant une ou plusieurs fois après « b » :

grep -E 'b(ana)+' fruits.txt

Vérification rapide : grep avancé

Supposons que le fichier data.txt contienne :

cat
cats
catt
catterpillar
dog

Quelle commande permettrait de trouver correctement les lignes contenant « cat » suivi de zéro ou plusieurs « t » ?

Récapitulatif : la puissance des expressions régulières de grep

Vous maîtrisez désormais les techniques avancées de grep utilisant les expressions régulières étendues ! Nous avons vu :

  • L’utilisation de -E pour les fonctionnalités des expressions régulières étendues.
  • Les quantificateurs : + (un ou plusieurs), * (zéro ou plusieurs), ? (zéro ou un) et {} pour les nombres précis.
  • Les ancres : ^ (début de ligne) et $ (fin de ligne).
  • L’alternance | pour les conditions « OR ».
  • Le regroupement de motifs avec ().

Ces outils vous permettent d’effectuer des recherches textuelles extrêmement précises et flexibles, faisant de vous un véritable magicien de la ligne de commande !

Questions Fréquemment Posées

La leçon « Grep avancé avec les expressions régulières » est-elle gratuite ?

Oui — le texte complet de « Grep avancé avec les expressions régulières » est gratuit à lire ici sur le web. Pour la pratiquer de manière interactive (un éditeur de code intégré et un tuteur IA 24/7) et déverrouiller le reste du cours Linux Command Line & Bash Scripting Mastery, passe à CoddyKit PRO. Le cours Linux Command Line & Bash Scripting Mastery comprend 4 leçons au total.

Qu'est-ce que j'apprendrai dans « Grep avancé avec les expressions régulières » ?

Appliquez des motifs regex complexes avec « grep » pour effectuer des recherches textuelles très ciblées et efficaces dans les fichiers. Tu pratiques Linux Command Line & Bash Scripting Mastery avec du code pratique que tu exécutes directement dans le navigateur, et un tuteur IA 24/7 répond à tes questions au fur et à mesure que tu avances dans la leçon.

Dois-je avoir de l'expérience pour commencer Linux Command Line & Bash Scripting Mastery ?

Aucune expérience préalable n'est requise. Linux Command Line & Bash Scripting Mastery sur CoddyKit est structuré pour les débutants jusqu'aux apprenants avancés, donc tu peux commencer ici ou depuis le début et avancer à ton rythme. Ceci est la leçon 2 sur 4.

Combien de temps prend la leçon « Grep avancé avec les expressions régulières » ?

La plupart des leçons CoddyKit prennent environ 5–10 minutes. Chacune est courte et interactive, tu progresses régulièrement et tu repiques exactement où tu t'es arrêté sur le web et l'app.

Peux-tu écrire et exécuter du code dans cette leçon Linux Command Line & Bash Scripting Mastery ?

Oui. Chaque leçon Linux Command Line & Bash Scripting Mastery inclut un éditeur de code intégré, tu écris et exécutes du vrai code directement dans ton navigateur et tu reçois des retours IA instantanés — aucune configuration locale requise.

Toutes les leçons de ce cours

  1. Introduction aux expressions régulières (Regex)
  2. Grep avancé avec les expressions régulières
  3. Combiner les expressions régulières avec sed/awk
  4. Groupes de capture, références arrière et substitution
← Retour à Linux Command Line & Bash Scripting Mastery