Commande Grep Sous Linux

Dans ce tutoriel, nous allons apprendre à utiliser la commande grep sous Linux. Nous utilisons la commande grep pour rechercher dans les fichiers ou la sortie de texte. La commande Grep peut également être combinée avec d’autres commandes avec l’utilisation du tube  » |  » opérateur. La commande grep sous Linux peut être utilisée pour rechercher un modèle ou une expression régulière (Regex signifie Regular expression). Il existe de nombreuses utilisations de la commande grep dont nous allons discuter dans ce didacticiel.

La syntaxe de base de grep est la suivante :

€ grep 'word' nom de fichier

Considérez les deux fichiers suivants grepdemo.txt et grepdemo1.txt car des exemples sont exécutés sur la base de ce texte.

En poursuivant, nous discuterons ici de certaines options utilisées avec la commande grep sous Linux :

  • -o : affiche uniquement la chaîne correspondante.
  • -b : imprime la position de la chaîne correspondante
  • -c : pour compter les répétitions de la chaîne correspondante
  • -H : pour imprimer le nom du fichier avec la chaîne correspondante
  • -i : pour imprimer la chaîne correspondante, qu’elle soit en majuscule ou en minuscule.
  • -n : pour imprimer le numéro de ligne du fichier avec la ligne correspondante
  • -v : pour imprimer les lignes qui n’incluent pas la chaîne correspondante.

Rechercher Un Mot Dans Un Fichier à L’aide De La Commande Grep Sous Linux

Comme indiqué précédemment, la commande grep est utilisée pour rechercher un mot particulier dans un fichier. Pour cela, il suffit de mentionner le mot et le nom du fichier.

La syntaxe pour cela est la suivante :

€ grep "texte à rechercher" 

Dans la capture d’écran ci-dessus, la commande grep sous Linux recherche le mot « linux » dans grepdemo.txt et imprime les lignes contenant la chaîne spécifiée. Comme indiqué ci-dessus, il n’est apparu qu’une seule fois dans le fichier.

Rechercher Un Mot Dans Tous Les Fichiers

Dans l’exemple ci-dessus, nous avons expliqué comment rechercher un mot dans un fichier particulier. Ici, nous verrons comment rechercher un mot dans un groupe de fichiers. Pour cela, nous utiliserons le symbole ‘*’. Comprenons à partir d’un exemple

€ grep 'mot' grep*.txt

Ici, il imprimera « le » survenu dans tous les fichiers où les noms de fichiers commencent par « grep » et ont une extension « .txt »

Recherche De Modèles RegEx à L’aide De La Commande Grep Sous Linux

Vous savez tous que regex signifie expressions régulières. La commande Grep peut également rechercher un modèle d’expression régulière. Comprenons avec un exemple.

Considérez la syntaxe :

€ ls -l | grep ^d

Dans cet exemple, la commande grep recherchera les noms de fichiers commençant par la lettre « d ». L’utilisation de la commande ls listera tous les fichiers et dossiers situés sur le bureau. Ici, il a répertorié 8 fichiers/dossiers où ‘d’ vient au début. Vous pouvez également utiliser cette syntaxe pour rechercher n’importe quelle expression régulière.

Imprimer Uniquement La Chaîne Demandée à L’aide De La Commande Grep Sous Linux

Vous avez peut-être remarqué que par défaut, la commande grep imprime la ligne contenant le mot-clé recherché. Si vous souhaitez que la commande grep sous Linux n’affiche que la chaîne correspondante du modèle, utilisez l’option ‘-o’. Comprenons cela à partir d’un exemple.

La syntaxe pour cela est la suivante :

€ grep -o "le" grepdemo.txt

Ici, il n’imprimera que le mot-clé recherché au lieu de la ligne complète.

Afficher La Position Du Motif Correspondant

L’option « -b » de la commande grep sous Linux vous permet d’imprimer la position de la chaîne correspondante. Comprenons à partir de l’exemple suivant.

Considérez la syntaxe :

€ grep -o -b "est" grepdemo.txt

Ici, il imprimera la position à laquelle le mot-clé particulier s’est produit sur chaque ligne. J’ai combiné ‘-b’ avec ‘-o’ afin qu’il ne puisse imprimer que la chaîne recherchée.

Colorez Ou Mettez En Surbrillance La Chaîne Recherchée

Si vous souhaitez que la chaîne recherchée soit d’une couleur différente, vous pouvez utiliser GREP_COLOR. Pour cela, exportez d’abord le fichier, puis exécutez la commande grep. Considérez l’exemple suivant.

€ export GREP_COLOR='100;10'


Sortie couleur Grep

Ici, dans cet exemple, le clavier recherché est mis en surbrillance. Dans la deuxième figure, il ne marquera que les positions où se trouve le mot-clé de recherche. N’oubliez pas que vous devez utiliser la commande d’exportation si vous souhaitez mettre en surbrillance le mot-clé de recherche, sinon cela ne fonctionnera pas.

Compter Les Répétitions à L’aide De La Commande Grep Sous Linux

Nous pouvons également utiliser la commande grep sous Linux pour compter les répétitions de la chaîne recherchée. Pour cela, nous pouvons utiliser l’option ‘-c’. Prenons l’exemple :

€ grep -c "mot" grep*.txt

La capture d’écran ci-dessus montre combien de fois le mot-clé « test » est répété dans un fichier particulier. Ici, j’ai compté le mot-clé recherché dans tous les fichiers. Vous pouvez également le rechercher dans un seul fichier. Supprimez simplement ‘*’ et mentionnez le nom du fichier.

Imprimer Le Nom Du Fichier Avec La Chaîne Recherchée

Auparavant, nous imprimions simplement les lignes ou les mots-clés de la chaîne recherchée. Mais dans ce cas, nous imprimerons également le nom du fichier, y compris la ligne, comme indiqué dans la figure ci-dessous. Nous utiliserons l’option ‘-H’ avec la commande grep.

Considérez la syntaxe des éléments suivants :

€ grep -H "Mot" 

Dans cet exemple, il imprimera le nom du fichier ainsi que la ligne dans laquelle la chaîne recherchée est présente.

Recherche Insensible à La Casse à L’aide De La Commande Grep Sous Linux

Cette option de commande ignore les majuscules et les minuscules et recherche le mot dans le fichier. Supposons que vous souhaitiez rechercher « linux », il recherchera et imprimera toutes les lignes où ce mot est apparu, quelle que soit sa casse. Peu importe que la chaîne de correspondance soit en majuscule ou en minuscule. Il imprimera simplement la ligne si la correspondance est trouvée, comme indiqué dans l’exemple ci-dessous.

La syntaxe des éléments suivants est donnée ci-dessous :

€ grep -i "linux" grep*.txt

Stocker La Sortie De La Commande Grep Dans Un Fichier

Que faire si vous souhaitez enregistrer le résultat recherché. Comme indiqué dans les articles précédents, ‘>’ est utilisé pour la redirection de sortie. Il enregistrera la sortie de la commande dans un fichier comme indiqué dans la figure ci-dessous.

La syntaxe de ce qui suit est :

€ grep "mot" > 

Dans l’exemple, le résultat sera stocké dans le fichier nommé text1.txt.

Afficher Les Numéros De Ligne Sur La Sortie De La Commande Grep

Nous savons comment imprimer le nom du fichier avec le mot-clé recherché. Maintenant, que se passe-t-il si vous souhaitez imprimer le numéro de ligne du fichier avec la ligne correspondante. L’option ‘-n’ avec la commande grep est utilisée pour imprimer le numéro de ligne du fichier avec la ligne correspondante, comme indiqué dans la figure ci-dessous.

La syntaxe de ce qui suit est :

€ grep -n "mot" 

Ici, il imprimera le numéro de ligne où le mot-clé recherché s’est produit.

Inverser La Correspondance à L’aide De La Commande Grep Sous Linux

Jusqu’à présent, nous recherchions le mot-clé et imprimions cette ligne. Que se passe-t-il si nous voulons imprimer la ligne qui n’inclut pas la chaîne correspondante ? L’option ‘-v’ est utilisée pour cela, comme le montre la figure ci-dessous.

La syntaxe de ce qui suit est :

€ grep -v "mot" 

Ici, il imprimera les lignes qui n’incluent pas le mot-clé recherché.

Vérifier La Version

Pour vérifier la version de la commande grep sous Linux, nous utilisons l’option ‘–version’ avec elle.

La syntaxe est :

€ grep -version

Comme le montre la figure, il imprimera la version de la commande grep.

Combiner Plusieurs Options

Nous pouvons également combiner plusieurs options dans la commande grep sous Linux, comme le montre la figure ci-dessous.

La syntaxe pour ce qui suit est :

€ grep -v -n "mot" 

Ici, nous avons combiné les options ‘-v’ et ‘-n’. ‘-v’ est utilisé comme correspondance inversée tandis que ‘-n’ est utilisé pour imprimer le numéro de ligne. Par conséquent, il imprimera les numéros de ligne où ce mot-clé de recherche n’a pas eu lieu. Vous pouvez le voir sur la figure ci-dessus. Il a imprimé ces numéros de ligne et les lignes qui n’incluent pas la chaîne « linux ».

Conclusion