Recherche de site Web

Comment utiliser Grep pour plusieurs motifs


Exemples sur comment utiliser Grep pour plusieurs motifs

Parfois, vous pouvez vouloir personnaliser la façon dont vous souhaitez rechercher un élément donné dans un fichier. Heureusement, grep permet à un utilisateur de grep plusieurs motifs en imprimant toutes les lignes qui correspondent à vos motifs de recherche.

La syntaxe à utiliser avec grep lorsque vous souhaitez rechercher plusieurs motifs est la suivante :

grep ‘pattern_1\|pattern_2\|pattern_n’ file_or_path

Les différents motifs que vous spécifiez doivent être entourés de guillemets simples, et nous ajoutons le symbole pipe pour les séparer. Le backslash dans ce cas est ajouté pour symboliser que nous traitons une expression régulière. Nous verrons une meilleure approche à utiliser plus tard dans cet article. Pour l'instant, discutons des différents exemples pour comprendre comment grep pour plusieurs motifs.

Exemple 1 : Grep plusieurs motifs

Lorsque vous souhaitez chercher plusieurs motifs, spécifiez le motif, les options et le chemin ou le nom de fichier. Pour notre premier exemple, nous travaillons sur un fichier qui se trouve dans le répertoire courant. Nos motifs de recherche sont « will » et « linux ». Notez que lorsque vous exécutez la commande suivante, elle est sensible à la casse. De plus, elle ne renvoie pas le mot exact. Au lieu de cela, elle renvoie tout mot qui contient le motif de recherche.

grep ‘will\|linux\|pattern_n’ names.txt

Lorsque vous avez le chemin d'un fichier cible, vous pouvez taper le chemin au lieu de son nom. Cette option est la plus courante au lieu de devoir d'abord naviguer vers le répertoire qui contient votre fichier cible. Remplacez le nom du fichier par le chemin et exécutez la commande comme indiqué ci-dessous :

Exemple 2 : Grep Expressions Régulières Étendues

L'ancienne méthode d'utilisation de grep pour plusieurs motifs nécessite d'ajouter un antislash pour indiquer que nous travaillons avec une expression régulière. Cependant, la dernière méthode permet aux utilisateurs d'ajouter l'option -E qui indique que le motif que vous utilisez est une expression régulière étendue, supprimant ainsi le besoin d'un antislash.

Par exemple, la commande précédente pourrait être reformulée comme suit :

grep -E ‘pattern_1|pattern_2|pattern_n’ file_or_path

Nous obtenons toujours les mêmes résultats.

Exemple 3 : Grep correspondances exactes

D'après les exemples précédents, nous avons vu que la commande "grep" trouve tous les motifs qui contiennent le motif de recherche. Cependant, il peut arriver que vous souhaitiez uniquement obtenir des correspondances exactes. Par exemple, dans le mot "linux-console", si votre motif de recherche est "linux", vous obtiendrez quand même "linux-console" dans les résultats de recherche.

Cependant, ajouter le -w limite la sortie à ne contenir que les correspondances spécifiques. Relançons notre commande précédente et voyons quel résultat nous obtenons :

Pour la sortie précédente, nous n'avons récupéré que les correspondances exactes, ce qui a permis de réduire la sortie.

Exemple 4 : Travailler avec des cas

Grep est sensible à la casse. Cependant, lorsque vous ajoutez le drapeau -i, il ignore la sensibilité à la casse et affiche toutes les correspondances pour vos différents modèles.

La sortie suivante montre comment l'ajout de -i produit des sorties différentes sans tenir compte des cas :

Exemple 5 : Combinaison de Différentes Options

Lors de la recherche de plusieurs motifs avec grep, vous pouvez combiner différentes options pour obtenir une sortie spécifique. Par exemple, disons que vous voulez trouver les correspondances exactes sans tenir compte de la sensibilité à la casse. Pour cela, vous pouvez combiner l'option -iw comme montré dans ce qui suit :

Exemple 6 : Compte d'affichage Grep

Parfois, vous pouvez vouloir compter les différentes correspondances multiples pour votre motif. Par exemple, si vous travaillez avec un fichier journal, cette option vous permet de garder une trace du nombre de fois qu'une entrée donnée est apparue dans le fichier cible. Pour afficher ce compte, utilisez l'option -c comme indiqué dans l'exemple suivant:

La sortie est le nombre de correspondances multiples présentes dans le fichier. Supposons que vous obteniez plus de comptages pour le motif particulier. Lorsque vous exécutez à nouveau la commande, elle affiche un compte différent.

Conclusion

Ce post a discuté de la façon dont vous pouvez utiliser la commande "grep" pour travailler avec plusieurs motifs. Nous avons expliqué les différents exemples sur le fonctionnement de grep pour plusieurs motifs. Avec ces exemples, nous espérons que vous pourrez maintenant travailler avec plusieurs motifs.