Bref : Dans ce guide, nous aborderons quelques-uns des exemples pratiques de la commande egrep. Après avoir suivi ce guide, les utilisateurs pourront effectuer une recherche de texte plus efficacement sous Linux.

Avez-vous déjà été frustré parce que vous ne parvenez pas à trouver les informations requises dans les journaux ? L’extraction des informations requises à partir d’un grand ensemble de données est une tâche complexe et chronophage.

Les choses deviennent vraiment difficiles si le système d’exploitation ne fournit pas les bons outils et voici Linux pour vous sauver. Linux fournit divers utilitaires de filtrage de texte tels que awk, sed, Couperetc.

Cependant, egrep est l’un des utilitaires les plus puissants et les plus couramment utilisés pour le traitement de texte sous Linux, et nous allons discuter de quelques exemples de égrep commande.

La égrep La commande sous Linux est reconnue par la famille de la commande grep, qui est utilisée pour rechercher et faire correspondre un modèle particulier dans les fichiers. Cela fonctionne de la même manière que grep -E (grep Extended regex), mais il recherche principalement un fichier particulier ou même des lignes à la ligne ou imprime la ligne dans le fichier donné.

Publicité

La syntaxe de la égrep commande est la suivante :

$ egrep [OPTIONS] PATTERNS [FILES]

Créons un exemple de fichier texte avec le contenu suivant pour utiliser un exemple :

$ cat sample.txt
Exemple De Fichier Texte
Exemple De Fichier Texte

Ici, nous pouvons voir que le fichier texte est prêt. Voyons maintenant quelques exemples courants qui peuvent être utilisés au quotidien.

1. Comment trouver un motif dans un seul fichier

Commençons par un exemple simple de correspondance de modèle, où nous pouvons utiliser la commande ci-dessous pour rechercher une chaîne professional dans un exemple.txt dossier:

$ egrep professionals sample.txt
Rechercher Une Chaîne Dans Le Fichier
Rechercher Une Chaîne Dans Le Fichier

Ici, nous pouvons voir que la commande imprime la ligne qui contient le motif spécifié.

2. Comment mettre en surbrillance les modèles correspondants dans le fichier

Nous pouvons rendre la sortie plus informative en mettant en surbrillance le modèle correspondant. Pour y parvenir, nous pouvons utiliser le --color option de la égrep commande. Par exemple, la commande ci-dessous mettra en surbrillance le texte professionals en couleur rouge :

$ egrep --color=auto professionals sample.txt
Texte En Surbrillance Dans Le Fichier
Mettre En Surbrillance Le Texte Dans Le Fichier

Ici, nous pouvons voir que la même sortie est plus informative que la précédente. Aussi, nous pouvons facilement identifier que le mot professionals est répété deux fois.

Sur la plupart des systèmes Linux, le paramètre ci-dessus est activé par défaut en utilisant l’alias suivant :

$ alias egrep='egrep –color=auto'

3. Comment trouver un motif dans plusieurs fichiers

La égrep La commande accepte plusieurs fichiers comme argument, ce qui nous permet de rechercher un modèle particulier dans plusieurs fichiers. Comprenons cela avec un exemple.

Tout d’abord, créez une copie du exemple.txt dossier:

$ cp sample.txt sample-copy.txt

Maintenant, recherchez le modèle professionals dans les deux fichiers :

$ egrep professionals sample.txt sample-copy.txt 
Rechercher Une Chaîne Dans Plusieurs Fichiers
Rechercher Une Chaîne Dans Plusieurs Fichiers

Dans l’exemple ci-dessus, nous pouvons voir le nom du fichier dans la sortie, qui représente la ligne correspondante de ce fichier.

4. Comment compter les lignes correspondantes dans le fichier

Parfois, nous avons juste besoin de savoir si le motif est présent ou non dans le fichier. Si oui, en combien de lignes est-il présent ? Dans de tels cas, nous pouvons utiliser le -c option de la commande.

Par exemple, la commande ci-dessous affichera 1 comme sortie parce que le mot professionals est présent sur une seule ligne.

$ egrep -c professionals sample.txt

1

5. Comment imprimer uniquement les lignes correspondantes dans le fichier

Dans l’exemple précédent, nous avons vu que le -c L’option ne compte pas le nombre d’occurrences du modèle. Par exemple, le mot professionals apparaît deux fois dans la même ligne mais le -c l’option la traite comme une seule correspondance.

Dans de tels cas, nous pouvons utiliser le -o option de la commande pour imprimer uniquement le motif correspondant. Par exemple, la commande ci-dessous affichera le mot professionals sur deux lignes distinctes :

$ egrep -o professionals sample.txt

Maintenant, comptons les lignes en utilisant la commande wc :

$ egrep -o professionals sample.txt | wc -l
Imprimer Les Lignes Correspondantes Dans Le Fichier
Imprimer Les Lignes Correspondantes Dans Le Fichier

Dans l’exemple ci-dessus, nous avons utilisé la combinaison de égrep et toilettes commandes pour compter le nombre d’occurrences du modèle particulier.

6. Comment trouver un motif en ignorant la casse

Par défaut, égrep effectue une correspondance de modèle en respectant la casse. Cela signifie des mots – nous, nous, nous et nous sommes traités comme des mots différents. Cependant, nous pouvons appliquer la recherche insensible à la casse en utilisant le -i option.

Par exemple, dans la commande ci-dessous, la correspondance de modèle réussira pour le texte we et We:

$ egrep -i we sample.txt 
Rechercher Une Chaîne Insensible À La Casse
Rechercher Une Chaîne Insensible À La Casse

7. Comment exclure les modèles partiellement appariés

Dans l’exemple précédent, nous avons vu que le égrep La commande effectue une correspondance partielle. Par exemple, lorsque nous avons recherché le texte we puis la correspondance de modèle a également réussi pour d’autres textes. Tels que le Web, le site Web et étaient.

Pour surmonter cette limitation, on peut -w option, qui applique la correspondance du mot entier.

$ egrep -w we sample.txt
Imprimer Uniquement Les Motifs Correspondants Dans Le Fichier
Imprimer Uniquement Les Motifs Correspondants Dans Le Fichier

8. Comment inverser la correspondance de modèle dans le fichier

Jusqu’à présent, nous avons utilisé le égrep commande pour imprimer les lignes dans lesquelles le motif donné est présent. Cependant, parfois, nous voulons effectuer l’opération dans le sens inverse.

Par exemple, nous pouvons vouloir imprimer les lignes dans lesquelles le motif donné n’est pas présent. Nous pouvons y parvenir avec l’aide de -v option:

$ egrep -v we sample.txt
Inverser La Correspondance De Modèle Dans Le Fichier
Inverser La Correspondance De Modèle Dans Le Fichier

Ici, nous pouvons voir que la commande imprime toute la ligne qui ne contient pas le texte we.

9. Comment trouver le numéro de ligne du motif

Nous pouvons utiliser le -n option de la commande pour activer la numérotation des lignes, qui affiche le numéro de ligne dans la sortie lorsque la correspondance de modèle réussit. Cette astuce simple rend la sortie plus significative.

$ egrep -n professionals sample.txt
Imprimer Le Numéro De Ligne Du Motif Assorti
Imprimer Le Numéro De Ligne Du Motif Correspondant

Dans la sortie ci-dessus, nous pouvons voir que le mot professionals est présent dans le 5ème ligne.

10. Comment effectuer une correspondance de modèle en mode silencieux

En mode silencieux, le égrep La commande n’imprime pas le modèle correspondant. Nous devons donc utiliser la valeur de retour de la commande pour identifier si la correspondance de modèle a réussi ou non.

Nous pouvons utiliser le -q option de la commande pour activer le mode silencieux, ce qui est pratique lors de l’écriture de scripts shell.

$ egrep -q professionals sample.txt
$ egrep -q non-existing-pattern sample.txt
Rechercher Des Correspondances De Modèles En Mode Silencieux
Rechercher Des Correspondances De Modèles En Mode Silencieux

Dans cet exemple, le zéro la valeur de retour indique la présence du motif tandis que la valeur non nulle indique l’absence du motif.

11. Comment afficher les lignes avant la correspondance de motif

Parfois, il est logique de montrer quelques lignes autour du motif correspondant. Pour de tels scénarios, nous pouvons utiliser le -B option de la commande, qui affiche N lignes avant le motif correspondant.

Par exemple, la commande ci-dessous imprimera la ligne pour laquelle la correspondance de modèle réussit ainsi que 2 lignes avant.

$ egrep -B 2 -n professionals sample.txt 
Imprimer Les Lignes Avant La Correspondance Du Motif
Imprimer Les Lignes Avant La Correspondance Du Motif

Dans cet exemple, nous avons utilisé le -n possibilité d’afficher les numéros de ligne.

12. Comment afficher les lignes après la correspondance de motif

De la même manière, nous pouvons utiliser le -A option de la commande pour afficher les lignes après la correspondance du modèle. Par exemple, la commande ci-dessous imprimera la ligne pour laquelle la correspondance de modèle réussit ainsi que les 2 lignes suivantes.

$ egrep -A 2 -n professionals sample.txt
Imprimer Les Lignes Après La Correspondance Du Motif
Imprimer Les Lignes Après La Correspondance Du Motif

13. Comment afficher les lignes autour de la correspondance de motif

En plus de cela, le égrep la commande prend en charge la -C option qui combine la fonctionnalité des options -A et -Bqui affiche les lignes avant et après le motif correspondant.

$ egrep -C 2 -n professionals sample.txt 
Imprimer Des Lignes Autour De La Correspondance De Motif
Imprimer Des Lignes Autour De La Correspondance De Motif

14. Comment trouver un modèle dans plusieurs fichiers de manière récursive

Comme indiqué précédemment, nous pouvons effectuer une correspondance de modèles sur plusieurs fichiers. Cependant, la situation devient délicate lorsque des fichiers sont présents dans plusieurs sous-répertoires et que nous les passons tous comme arguments de commande.

Dans de tels cas, nous pouvons effectuer une correspondance de modèle de manière récursive en utilisant le -r comme indiqué dans l’exemple suivant.

Tout d’abord, créez 2 sous-répertoires et copiez le exemple.txt déposez-y :

$ mkdir -p dir1/dir2
$ cp sample.txt dir1/
$ cp sample.txt dir1/dir2/

Effectuons maintenant l’opération de recherche de manière récursive :

$ egrep -r professionals dir1
Rechercher Une Chaîne De Manière Récursive Dans Les Fichiers
Rechercher Une Chaîne De Manière Récursive Dans Les Fichiers

Dans l’exemple ci-dessus, nous pouvons voir que la correspondance de modèle a réussi pour le dir1/dir2/exemple.txt et dir1/exemple.txt des dossiers.

15. Comment faire correspondre un seul caractère à l’aide d’expressions régulières

Nous pouvons utiliser un point (.) caractère pour correspondre à n’importe quel caractère unique à l’exception de la fin de la ligne. Par exemple, l’expression régulière ci-dessous correspond au texte har, hat et has :

$ egrep "ha." sample.txt
Faire Correspondre Un Seul Caractère Dans Le Fichier
Faire Correspondre Un Seul Caractère Dans Le Fichier

16. Comment faire correspondre zéro ou plusieurs occurrences de caractère

Nous pouvons utiliser l’astérisque (*) pour correspondre à zéro ou plusieurs occurrences du caractère précédent. Par exemple, l’expression régulière ci-dessous correspond à un texte contenant une chaîne we suivi de zéro ou plusieurs occurrences du caractère b.

$ egrep "web*" sample.txt
Faire Correspondre La Chaîne Dans Le Fichier Texte
Faire Correspondre La Chaîne Dans Le Fichier Texte

17. Comment faire correspondre une ou plusieurs occurrences du caractère précédent

Nous pouvons utiliser le plus (+) pour correspondre à une ou plusieurs occurrences du caractère précédent. Par exemple, l’expression régulière ci-dessous correspond au texte qui contient la chaîne we suivi d’au moins une occurrence du caractère b.

$ egrep "web+" sample.txt
Faire Correspondre La Chaîne Par Caractère Dans Le Fichier
Faire Correspondre La Chaîne Par Caractère Dans Le Fichier

Ici, nous pouvons voir que le pattern matching ne réussit pas pour les mots – we et wereen raison de l’absence du personnage b.

18. Comment faire correspondre le début de la ligne

Nous pouvons utiliser le caret (^) pour représenter le début de la ligne. Par exemple, l’expression régulière ci-dessous imprime les lignes commençant par le texte We:

$ egrep "^We" sample.txt
Imprimer Le Texte Correspondant Avec La Ligne De Départ
Imprimer Le Texte Correspondant Avec La Ligne De Départ

19. Comment faire correspondre la fin de la ligne

Nous pouvons utiliser le dollar ($) pour représenter la fin de la ligne. Par exemple, l’expression régulière ci-dessous imprime les lignes qui se terminent par le texte e.:

$ egrep "e.$" sample.txt
Imprimer Le Texte Correspondant Avec La Ligne De Fin
Imprimer Le Texte Correspondant Avec La Ligne De Fin

20. Comment supprimer les lignes vides dans le fichier

Nous pouvons utiliser le caret (^) immédiatement suivi du dollar ($) pour représenter la ligne vide. Utilisons ceci dans une expression régulière pour supprimer les lignes vides :

$ egrep -n -v "^$" sample.txt
Supprimer Les Lignes Vides Dans Le Fichier
Supprimer Les Lignes Vides Dans Le Fichier

Dans la sortie ci-dessus, nous pouvons voir que les numéros de ligne 2, 4, 6, 8 et 10 ne sont pas affichés car ils sont vides.

Conclusion

Dans cet article, nous avons discuté de quelques exemples utiles de égrep commandes. On peut utiliser ces exemples dans la vie de tous les jours pour améliorer la productivité.

Connaissez-vous un autre meilleur exemple de la commande egrep sous Linux ? Faites-nous part de vos opinions dans les commentaires ci-dessous.

Rate this post
Publicité
Article précédentLes fans incarnent leurs personnages préférés
Article suivantL’édition collector annoncée pour le remake de « Dead Space »
Avatar De Violette Laurent
Violette Laurent est une blogueuse tech nantaise diplômée en communication de masse et douée pour l'écriture. Elle est la rédactrice en chef de fr.techtribune.net. Les sujets de prédilection de Violette sont la technologie et la cryptographie. Elle est également une grande fan d'Anime et de Manga.

LAISSER UN COMMENTAIRE

S'il vous plaît entrez votre commentaire!
S'il vous plaît entrez votre nom ici