Commande GREP dans Linux (recherche de texte dans les fichiers)

Commande GREP dans Linux (recherche de texte dans les fichiers)

Le Grep est un outil puissant pour rechercher un texte, Grep signifie «imprimé d'expression régulière mondiale». Fondamentalement, Grep recherche un fichier texte pour l'expression régulière spécifiée et produit toute ligne contenant une correspondance à la sortie standard. La commande grep peut donc être utilisée pour rechercher une sorte de texte, de mot, de modèle ou de phrase dans un fichier texte ou un certain nombre de fichiers texte.

  • Lire suggérée: 12 Awesome Linux trouver des exemples de commande

Dans ce tutoriel, nous vous montrerons comment utiliser la commande grep avec quelques exemples pratiques.

Conditions préalables

  • Un système exécutant le système d'exploitation Linux.
  • Accès à un terminal / ligne de commande.

Pour rechercher une chaîne spécifique dans un fichier

  • Pour rechercher une chaîne Tecadmin dans le fichier Fichier1.txt, exécutez la commande suivante:
    grep tecadmin fichier1.SMS 

    Cette commande imprimera toutes les lignes qui contiennent un mot tecadmin:

    Tecadmin est un blog Linux populaire I Love Tecadmin Tecadminlinux 

  • Pour rechercher une chaîne exacte Tecadmin dans le fichier Fichier1.txt, exécutez la commande suivante:
    grep -w fichier tecadmin1.SMS 

    Cette commande imprimera toutes les lignes qui contiennent un mot entier Tecadmin:

    Tecadmin est un blog Linux populaire I Love Tecadmin 

  • Pour rechercher une chaîne Tecadmin Case insensiblement dans le fichier Fichier1.txt, exécutez la commande suivante:
    grep -i tecadmin fichier1.SMS 

    Cette commande imprimera toutes les lignes qui contiennent un boîtier Tecadmin Word insensible:

    Tecadmin est un blog Linux populaire I Love Tecadmin Tecadminlinux Tecadmin est mon blog préféré This Is Tecadmin Site Web 

Pour rechercher une chaîne spécifique dans plusieurs fichiers

  • Pour rechercher une chaîne Linux dans Fichier File1.txt et file2.txt, exécutez la commande suivante:
    grep -i linux file1.fichier txt2.SMS 

    Cette commande imprimera toutes les lignes qui contiennent un Word Linux dans Fichier1.txt et file2.SMS:

    fichier1.TXT: Tecadmin est un fichier de blog Linux populaire1.txt: fichier tecadminlinux2.TXT: Linux est un système d'exploitation open source. fichier2.TXT: Linux est fabriqué par Linus Torvalds. fichier2.TXT: Linux est le système d'exploitation le plus populaire. 

  • Pour rechercher une chaîne Linux dans tous les fichiers du répertoire actuel et des sous-répertoires, exécutez la commande suivante:
    grep -r Linux * 

    Cette commande imprimera toutes les lignes qui contiennent un Word Linux dans tous les fichiers du répertoire actuel et des sous-répertoires:

    fichier1.TXT: Tecadmin est un fichier de blog Linux populaire1.txt: fichier tecadminlinux2.TXT: Linux est fabriqué par Linus Torvalds. fichier2.TXT: Linux est le système d'exploitation le plus populaire. fichier3.TXT: Linux vs Windows File3.TXT: Ubuntu est un système d'exploitation Linux 

Recherche grep inverse

Vous pouvez utiliser la commande grep avec l'option -v pour imprimer toutes les lignes qui ne correspondent pas à un modèle spécifique de caractères.

Par exemple, imprimez toutes les lignes qui ne contiennent pas la chaîne Linux dans le fichier1.txt et file2.txt, exécutez la commande suivante:

grep -v linux file1.fichier txt2.SMS 

Cette commande exclura toutes les lignes qui contiennent la chaîne Linux:

fichier1.TXT: J'adore le fichier Tecadmin1.TXT: Tecadmin est mon fichier de blog préféré1.txt: c'est le fichier de site Web de Tecadmin2.TXT: Linux est un système d'exploitation open source. 

Pour énumérer les noms de fichiers qui correspondent à un modèle spécifique

Vous pouvez afficher uniquement des noms de fichiers contenant une chaîne spécifique en utilisant l'option -L.

Par exemple, listez tous les noms de fichiers dans le répertoire actuel qui correspond à la chaîne tecadmin, exécutez la commande suivante:

grep -l tecadmin * 

Vous devriez voir la sortie suivante:

fichier1.SMS 

Afficher le nombre de matchs

Vous pouvez utiliser l'option grep avec -c pour afficher tous les fichiers avec le nombre de lignes qui correspondent à la chaîne donnée.

Par exemple, pour afficher tous les fichiers avec le nombre de lignes qui correspondent à une chaîne Linux dans le répertoire actuel, exécutez la commande suivante:

grep -c Linux * 

Vous devriez voir la sortie suivante:

fichier1.txt: 2 file2.txt: 2 fichier3.txt: 2 

Numéro de ligne d'affichage avec motif de correspondance

Vous pouvez utiliser l'option grep avec -n pour imprimer les numéros de ligne avec des modèles correspondants.

Par exemple, pour afficher le numéro de ligne qui correspond au modèle Linux dans le répertoire actuel, exécutez la commande suivante:

grep -n Linux * 

Vous devriez voir la sortie suivante:

fichier1.TXT: 1: Tecadmin est un fichier de blog Linux populaire1.txt: 3: fichier tecadminlinux2.TXT: 2: Linux est fabriqué par Linus Torvalds. fichier2.TXT: 3: Linux est le système d'exploitation le plus populaire. fichier3.txt: 1: linux vs windows file3.TXT: 2: Ubuntu est un système d'exploitation Linux 

Vous pouvez également afficher une ligne avant et après la chaîne correspondante en utilisant les options C et N avec la commande grep.

Par exemple, afficher une ligne avant et après la chaîne correspondante Linux dans le fichier4.txt, exécutez la commande suivante:

grep -n -c 1 fichier linux4.SMS 

Vous devriez voir la sortie suivante:

1-HI, je suis Tecadmin User 2: Je suis Système d'exploitation Linux 3-I Am Windows Système d'exploitation 

Afficher uniquement le modèle de correspondance

Par défaut, la commande GREP imprime la ligne entière qui correspond à un motif.

Vous pouvez imprimer uniquement des modèles correspondants en utilisant l'option -o.

Par exemple, recherchez le fichier1.txt qui correspond à la chaîne / motif Linux avec la commande suivante:

grep -o linux file1.SMS 

Vous devriez voir la sortie suivante:

Linux Linux 

Conclusion

Dans le didacticiel ci-dessus, vous avez appris à utiliser la commande grep pour rechercher une chaîne spécifique dans des fichiers. J'espère que vous avez maintenant suffisamment de connaissances sur la commande GREP et comment elle est utilisée dans diverses conditions.