Bref : Dans ce guide convivial pour les débutants, nous discuterons de quelques exemples pratiques de la commande fgrep. À la fin de ce guide, les utilisateurs seront en mesure d’effectuer efficacement des opérations de recherche de texte à l’aide de l’interface de ligne de commande.
La recherche de texte est l’une des opérations les plus courantes. Cependant, cette tâche simple devient rapidement chronophage si les utilisateurs ne sont pas familiarisés avec les bons outils. Sous Linux, il existe divers utilitaires de filtrage de texte tels que awk, sed, Couperetc.
Cependant, sous Linux, grep est l’utilitaire préféré pour la recherche de texte simple. Dans ce guide, nous allons discuter de quelques exemples pratiques de grep commande qui peut être utilisée dans la vie de tous les jours.
La grep La commande sous Linux appartient à la famille de la commande grep. Cependant, il est utilisé pour rechercher le modèle de chaîne fixe au lieu des expressions régulières. D’où le nom de la commande est grep (GREP fixe).
La syntaxe de la grep est similaire aux autres commandes de la famille grep :
$ fgrep [OPTIONS] PATTERNS [FILES]
Pour commencer, créons un fichier texte brut avec le contenu suivant pour utiliser un exemple :
$ cat input.txt
Ici, nous pouvons voir que le fichier texte est prêt avec le contenu de l’échantillon. Examinons maintenant quelques exemples courants de grep commande dans les quelques exemples suivants.
1. En quoi fgrep est-il différent des commandes grep et egrep ?
Comme son nom l’indique, le grep La commande est utilisée pour rechercher les modèles de chaîne fixes. Il interprète le modèle comme une chaîne fixe au lieu d’une expression régulière. Par conséquent, il effectue l’opération de recherche de manière efficace dans le temps.
Pour comprendre la différence, utilisons un point (.)
caractère avec la commande grep.
Cette expression régulière simple correspond à n’importe quel caractère unique, à l’exception de la fin de la ligne :
$ grep ha. input.txt
Dans la sortie ci-dessus, nous pouvons voir que le point (.)
le caractère correspondait au texte har, chapeauet a.
Maintenant, utilisons le même modèle avec le grep commandez et observez le résultat :
$ fgrep ha. input.txt
Dans la sortie ci-dessus, nous pouvons voir que la commande ne parvient pas à trouver le modèle donné.
Cela se produit parce que le grep la commande ne reconnaît pas les expressions régulières et essaie de rechercher le modèle inexistant – “ha.”
.
[ You might also like: What’s Difference Between Grep, Egrep and Fgrep in Linux? ]
2. Comment rechercher un motif dans un fichier
Commençons par l’exemple de base où nous chercherons un professionnel de la corde dans un entrée.txt dossier:
$ fgrep professionals input.txt
Comme nous pouvons le voir, le pattern matching réussit à deux endroits et il est surligné en rouge.
3. Comment définir la couleur de sortie Grep pour les modèles correspondants
Dans l’exemple précédent, nous avons vu que, par défaut, le motif correspondant est surligné en rouge. Cependant, nous pouvons modifier ce comportement en attribuant une valeur différente à la GREP_COLOR
Variables d’environnement.
Attribuons la valeur 32 au GREP_COLOR
variable d’environnement pour mettre en surbrillance le motif correspondant en vert :
$ export GREP_COLOR=32 $ fgrep professionals input.txt
Maintenant, avant de passer à l’exemple suivant, désactivez le GREP_COLOR variable d’environnement pour activer le comportement par défaut :
$ unset GREP_COLOR
4. Comment rechercher plusieurs modèles dans un fichier
Parfois, nous devons effectuer une correspondance de modèle pour plusieurs chaînes. Dans de tels cas, nous pouvons fournir les modèles à partir du fichier texte au lieu de l’argument de ligne de commande.
Créons un fichier texte contenant plusieurs modèles sur une ligne distincte :
$ cat pattern.txt professionals website
Maintenant, utilisons ce fichier avec le -f
option pour la correspondance de motifs multiples :
$ fgrep -f pattern.txt input.txt
Dans la sortie ci-dessus, nous pouvons voir que la correspondance de modèle réussit pour les chaînes professionnels et site Internet.
5. Comment limiter le nombre de correspondances dans le fichier
Par défaut, le grep La commande continue d’effectuer la correspondance de modèle jusqu’à ce que le fichier entier soit traité.
Cependant, nous devons parfois limiter le nombre de matchs. Dans de tels cas, nous pouvons utiliser le -m
option avec la commande :
$ fgrep -m 1 professionals input.txt TecMint was started on 15th August 2012 by technical professionals and all the
Dans cet exemple, le grep La commande arrête le traitement du fichier après avoir trouvé le premier motif.
6. Comment imprimer le nom du fichier lors de la recherche d’un motif
Parfois, nous avons juste besoin de trouver le nom des fichiers dans lesquels un motif particulier est présent. Dans de tels cas, nous pouvons utiliser le -l
option de la grep commande:
$ fgrep -l professionals input.txt input.txt
Ici, nous pouvons voir que la commande imprime simplement le nom du fichier au lieu des lignes avec les modèles correspondants.
7. Comment imprimer le nom du fichier lorsque la correspondance de modèle échoue
Dans l’exemple précédent, nous avons vu comment imprimer le nom du fichier lorsque la correspondance de modèle réussit. Voyons maintenant comment effectuer l’opération en sens inverse.
Essayons de trouver le motif inexistant dans le fichier et observons le résultat :
$ fgrep -L non-existing-word input.txt input.txt
Dans cet exemple, nous avons utilisé le -L
option de la commande qui imprime le nom du fichier lorsque la correspondance de modèle échoue.
8. Comment supprimer les messages d’erreur
La gestion des erreurs joue un rôle crucial lors de l’écriture de scripts shell. Cependant, dans certains scénarios non critiques, nous pouvons ignorer les messages d’erreur en toute sécurité.
Dans grepon peut utiliser le -s
option qui supprime les erreurs liées aux fichiers inexistants ou illisibles. Pour mieux comprendre ce comportement, essayons de rechercher un motif dans le fichier inexistant :
$ fgrep -s professionals non-existing-file.txt $ echo $? 2
Dans la sortie ci-dessus, nous pouvons voir que la commande n’affiche aucune erreur sur le flux d’erreur standard. Cependant, l’échec est signalé par la valeur de retour différente de zéro.
En plus de cela, nous pouvons également observer le même comportement lorsque le fichier est illisible. Donc, d’abord, modifiez l’autorisation du fichier en utilisant le chmod commande:
$ chmod 000 input.txt $ ls -l input.txt
Maintenant, essayez de rechercher le motif et observez le résultat :
$ fgrep -s professionals input.txt $ echo $?
Dans cet article, nous avons discuté de quelques exemples utiles de grep commande. Les débutants peuvent utiliser ces exemples dans la vie de tous les jours pour améliorer la productivité tout en travaillant avec Linux.
Connaissez-vous un autre meilleur exemple de la commande fgrep sous Linux ? Faites-nous part de vos opinions dans les commentaires ci-dessous.