GNU/Linux >> Tutoriels Linux >  >> Linux

14 exemples de commandes Grep sous Linux

Grep est un utilitaire de ligne de commande dans les systèmes Linux et Unix qui est utilisé pour imprimer des lignes à partir d'un fichier après avoir fait correspondre les chaînes ou le mot. grep signifie global regular expression print, il peut être utilisé pour rechercher des chaînes dans un ou plusieurs fichiers en fonction du modèle. Un modèle peut être un seul caractère, un groupe de caractères, un seul mot ou une phrase.

Lorsque nous exécutons la commande grep avec la chaîne spécifiée, si elle correspond, elle affichera la ligne du fichier contenant la chaîne sans modifier le contenu du fichier existant.

Syntaxe de la commande Grep :

$ grep 

Dans ce didacticiel, nous allons discuter de 14 exemples de commandes linux grep utiles, plongeons-nous dans les exemples.

Exemple 1) Rechercher le motif ou le mot dans un fichier

Lorsque nous exécutons la commande grep suivie d'une chaîne ou d'un motif de recherche, la ligne correspondante d'un fichier sera imprimée. L'exemple est illustré ci-dessous.

Recherchez le mot « linuxtechi » dans le fichier /etc/passwd file,

[email protected] :~# grep linuxtechi /etc/passwdlinuxtechi:x:1000:1000:linuxtechi,,,:/home/linuxtechi:/bin/bash[email protected] :~#

Exemple 2) Rechercher le motif dans plusieurs fichiers

Pour rechercher le mot "linuxtechi" dans plusieurs fichiers comme /etc/passwd, /etc/shadow et /etc/gshadow, exécutez

[email protected] :~# grep linuxtechi /etc/passwd /etc/shadow /etc/gshadow/etc/passwd:linuxtechi:x:1000:1000:linuxtechi,,,:/home/linuxtechi:/bin/ bash/etc/shadow:linuxtechi:$6$DdgXjxlM$4flz4JRvefvKp0DG6re:16550:0:99999:7:::\/etc/gshadow:adm:*::syslog,linuxtechi/etc/gshadow:cdrom:*::linuxtechi/ etc/gshadow:sudo:*::linuxtechi/etc/gshadow:dip:*::linuxtechi/etc/gshadow:plugdev:*::linuxtechi/etc/gshadow:lpadmin:!::linuxtechi/etc/gshadow:linuxtechi :!::/etc/gshadow:sambashare:!::linuxtechi[email protected] :~#

Exemple 3) Lister le nom des fichiers contenant le mot ( grep -l)

Supposons que nous voulions répertorier les fichiers contenant le mot "linuxtechi" à partir de plusieurs fichiers. Pour ce faire, utilisez l'option "-l" dans la commande grep, suivie du mot (motif) et des fichiers.

[email protected] :~# grep -l linuxtechi /etc/passwd /etc/shadow /etc/fstab /etc/mtab/etc/passwd/etc/shadow[email protected] :~#

Exemple 4) Rechercher le motif dans le fichier avec le numéro de ligne associé (grep -n)

Supposons que nous voulons une ligne de liste et son numéro qui correspond au motif ou au mot. Utilisez l'option '-n' dans la commande grep. Dans notre exemple, le modèle est 'linuxtechi'

[email protected] :~# grep -n linuxtechi /etc/passwd39:linuxtechi:x:1000:1000:linuxtechi,,,:/home/linuxtechi:/bin/bash[email protected] :~# 

Ci-dessous, un autre exemple qui affiche la ligne et son numéro après avoir trouvé un mot "root" dans les fichiers /etc/passwd et /etc/shadow

[email protected] :~# grep -n root /etc/passwd /etc/shadow

Exemple 5) Imprimer les lignes sans le motif (grep -v)

Lister toutes les lignes du fichier /etc/passwd qui ne contiennent pas le mot spécifique "linuxtechi".

[email protected] :~# grep -v linuxtechi /etc/passwd

Exemple 6) Rechercher toutes les lignes commençant par un motif spécifique (grep ^)

Le shell Bash traite le signe insertion (^) comme un caractère spécial qui marque le début d'une ligne ou d'un mot. Affichons les lignes qui commencent par le mot "root" dans le fichier /etc/passwd, exécuté sous la commande grep

[email protected] :~# grep ^root /etc/passwdroot:x:0:0:root:/root:/bin/bash[email protected] :~#

Exemple 7) Rechercher toutes les lignes qui se terminent par un mot spécifique (grep $)

Le shell Bash traite le symbole dolar '$' comme un caractère spécial qui marque les fins de ligne ou de mot. Listez toutes les lignes de /etc/passwd qui se terminent par "bash ” mot.

[email protected] :~# grep bash$ /etc/passwdroot:x:0:0:root:/root:/bin/bashlinuxtechi:x:1000:1000:linuxtechi,,,:/home/linuxtechi :/bin/bash[email protected] :~#

Exemple 8) Rechercher un mot ou un motif de manière récursive (grep -r)

Lorsque nous exécutons la commande grep sans mentionner les noms de fichiers, elle affiche les lignes de tous les fichiers contenant la chaîne correspondante. Il effectuera la recherche de manière récursive dans le répertoire de travail actuel.

Pour rechercher un mot de manière récursive dans tous les fichiers d'un dossier, utilisez l'option "-r" dans la commande grep, l'exemple est illustré ci-dessous :

[email protected] :~# grep -r linuxtechi /etc//etc/subuid:linuxtechi:100000:65536/etc/group:adm:x:4:syslog,linuxtechi/etc/group:cdrom:x :24:linuxtechi/etc/group:sudo:x:27:linuxtechi/etc/group:dip:x:30:linuxtechi/etc/group:plugdev:x:46:linuxtechi/etc/group:lpadmin:x:115 :linuxtechi/etc/group:linuxtechi:x:1000:/etc/group:sambashare:x:131:linuxtechi/etc/passwd-:linuxtechi:x:1000:1000:linuxtechi,,,:/home/linuxtechi:/bin /bash/etc/passwd:linuxtechi:x:1000:1000:linuxtechi,,,:/home/linuxtechi:/bin/bash......................... .................................................. .....

La commande ci-dessus recherchera le mot « linuxtechi » dans le répertoire « /etc » de manière récursive.

Exemple 9) Rechercher toutes les lignes vides ou vides d'un fichier (grep ^$)

Pour rechercher et répertorier toutes les lignes vides ou vides d'un fichier, utilisez la combinaison de caractères spéciaux '^$' dans la commande grep, l'exemple est illustré ci-dessous :

[email protected] :~# grep ^$ /etc/shadow[email protected] :~#

Comme il n'y a pas de ligne vide dans le fichier /etc/shadow , rien ne s'affiche.

Exemple 10) Ignorer la casse des lettres lors de la recherche (grep -i)

L'option -i dans la commande grep ignore la casse des lettres, c'est-à-dire qu'elle ne discriminera pas les majuscules ou les minuscules lors de la recherche

Prenons un exemple, je veux rechercher le mot "LinuxTechi" dans le fichier passwd.

[email protected] :~$ grep -i LinuxTechi /etc/passwdlinuxtechi:x:1001:1001::/home/linuxtechi:/bin/bash[email protected] :~$

Remarque : La commande Grep permet la recherche basée sur le mot exact en utilisant l'option '-w', l'exemple est montré ci-dessous,

[email protected] :~$ grep -w cuisinier /mnt/my_dish.txt

La commande ci-dessus recherchera et recherchera les lignes contenant le mot "cook". Il ne donnera pas de résultats qui ont de la cuisson.

Exemple 11) Rechercher plusieurs motifs ou mots (grep -e)

Par exemple, je veux rechercher le mot "linuxtechi" et "root" dans une seule commande grep, puis utiliser l'option -e dans la commande grep suivie du modèle de recherche

[email protected] :~# grep -e "linuxtechi" -e "root" /etc/passwdroot:x:0:0:root:/root:/bin/bashlinuxtechi:x:1000:1000:linuxtechi, ,,:/home/linuxtechi:/bin/bash[email protected] :~#or [email protected] :~# grep -E "linuxtechi|root" /etc/passwd

Exemple 12) Obtenir un motif de recherche à partir d'un fichier (grep -f)

Utilisez l'option '-f' dans la commande grep pour obtenir le modèle de recherche à partir d'un fichier. L'exemple est illustré ci-dessous :

Créez d'abord un fichier de modèle de recherche "grep_pattern" dans votre répertoire de travail actuel. Dans mon cas, j'ai mis le contenu ci-dessous.

[email protected] :~# cat grep_pattern^linuxtechirootfalse$[email protected] :~#

Essayez maintenant de rechercher en utilisant le fichier grep_pattern.

[email protected] :~# grep -f grep_pattern /etc/passwd

Exemple 13) Compter le nombre de lignes qui correspondent au motif de recherche (grep -c)

Si vous souhaitez compter le nombre de lignes qui correspondent au modèle de recherche, utilisez l'option "-c" dans la commande grep.

Considérons l'exemple ci-dessus et comptons les lignes qui correspondent au modèle de recherche,

[email protected] :~# grep -c -f grep_pattern /etc/passwd22[email protected] :~#

Exemple 14) Afficher le nombre N de lignes avant et après la correspondance de modèle (grep -B -A)

a) Affichez quatre lignes avant la correspondance de modèle, utilisez l'option -B dans la commande grep, l'exemple est illustré ci-dessous :

[email protected] :~# grep -B 4 "jeux" /etc/passwd

b) Affichez quatre lignes après la correspondance de modèle, utilisez l'option -A dans la commande grep

[email protected] :~# grep -A 4 "jeux" /etc/passwd

c) Afficher quatre lignes autour de la correspondance de modèle à l'aide de l'option -C

[email protected] :~# grep -C 4 "jeux" /etc/passwd

C'est tout de l'article, j'espère que ces exemples vous aideront à utiliser la commande grep plus efficacement. Veuillez partager vos commentaires et commentaires dans la section des commentaires ci-dessous.

Lire aussi  : 10 exemples de commande "rm" pour les débutants sous Linux


Linux
  1. 7 Exemples de commandes Linux df

  2. 8 Exemples de commandes Linux TR

  3. Exemples de commande rm sous Linux

  4. Exemples de commandes ps sous Linux

  5. w Exemples de commandes sous Linux

9 exemples de commande diff sous Linux

Comment utiliser la commande Grep sous Linux + exemples utiles de Grep

Commande Linux ip avec exemples

15 exemples d'utilisation de la commande Grep sous Linux

Commande Grep sous Linux (avec exemples)

Exemples de commandes id sous Linux