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 rechercher 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_pathLes 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 caractère d'échappement 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 utiliser grep pour plusieurs motifs.
Exemple 1 : Grep plusieurs motifs
Lorsque vous souhaitez grep 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 actuel. 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 récupère pas le mot exact. Au lieu de cela, elle renvoie tout mot qui contient le motif de recherche.
grep ‘will\|linux\|pattern_n’ names.txtLorsque vous avez le chemin d'accès à un fichier cible, vous pouvez taper le chemin au lieu de son nom. Cette option est la plus courante plutôt que de devoir d'abord naviguer jusqu'au répertoire qui contient votre fichier cible. Remplacez le nom de 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, éliminant ainsi le besoin d'un antislash.
Par exemple, la commande précédente pourrait être réécrite comme suit :
grep -E ‘pattern_1|pattern_2|pattern_n’ file_or_pathNous obtenons toujours les mêmes résultats.
Exemple 3 : Grep Correspondances Exactes
Dans 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 obtenir uniquement les 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, en ajoutant le -w, la sortie est limitée aux 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 restreint la sortie.
Exemple 4 : Travailler avec des cas
Grep est sensible à la casse. Cependant, lorsque vous ajoutez le flag -i, il ignore la sensibilité à la casse et affiche toutes les correspondances pour vos différents motifs.
La sortie suivante montre comment l'ajout de -i produit des résultats différents sans tenir compte des cas :
Exemple 5 : Combiner 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, supposons que vous souhaitiez trouver des correspondances exactes sans tenir compte de la sensibilité à la casse. Pour cela, vous pouvez combiner l'option -iw comme indiqué ci-dessous :
Exemple 6 : Grep Afficher le Comptage
Parfois, vous souhaiterez compter les différentes correspondances multiples pour votre motif. Par exemple, si vous travaillez avec un fichier journal, cette option vous permet de suivre le nombre de fois qu'une entrée donnée est apparue dans le fichier cible. Pour afficher ce compte, utilisez l'option -c comme montré 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 un motif particulier. Lorsque vous relancez la commande, elle affiche un dé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 élaboré les différents exemples de la façon dont le grep pour plusieurs motifs fonctionne. Avec ces exemples, nous espérons que vous pourrez maintenant travailler avec plusieurs motifs.






