GNU/Linux >> Tutoriels Linux >  >> Linux

Utilisation de la commande grep sous Linux

Qu'est-ce que grep ?

L'utilitaire grep que nous allons découvrir aujourd'hui est un outil Unix qui appartient à la même famille que les utilitaires egrep et fgrep. Ce sont tous des outils Unix conçus pour effectuer la tâche de recherche répétitive sur vos fichiers et votre texte. Vous pouvez rechercher des fichiers et leur contenu pour récupérer des informations utiles en spécifiant des critères de recherche particuliers via la commande grep.

Ils disent donc que GREP signifie Global Regular Expression Print, mais d'où vient cette commande "grep" ? grep dérive essentiellement d'une commande spécifique pour le très simple et vénérable éditeur de texte Unix nommé ed. Voici comment se déroule la commande ed :

g/re/p

Le but de la commande est assez similaire à ce que nous entendons par recherche dans grep. Cette commande récupère toutes les lignes d'un fichier correspondant à un certain modèle de texte.

Explorons un peu plus la commande grep. Dans cet article, nous expliquerons l'installation de l'utilitaire grep et présenterons quelques exemples à travers lesquels vous pourrez apprendre exactement comment et dans quel scénario vous pouvez l'utiliser.

Nous avons exécuté les commandes et procédures mentionnées dans cet article sur un système Ubuntu 18.04 LTS.

Installer grep

Bien que l'utilitaire grep soit fourni par défaut avec la plupart des systèmes Linux, si vous ne l'avez pas installé sur votre système, voici la procédure :

Ouvrez votre terminal Ubuntu via le tableau de bord ou le raccourci Ctrl + Alt + T. Entrez ensuite la commande suivante en tant que root afin d'installer grep via apt-get :

$ sudo apt-get install grep

Entrez y lorsque vous êtes invité avec une option y/n pendant la procédure d'installation. Après cela, l'utilitaire grep sera installé sur votre système.

Vous pouvez vérifier l'installation en vérifiant la version de grep via la commande suivante :

$ grep --version

Utilisation de la commande grep avec des exemples

La commande grep peut être mieux expliquée en présentant certains scénarios où elle peut être utilisée. Voici quelques exemples :

Rechercher des fichiers

Si vous souhaitez rechercher un nom de fichier contenant un mot-clé spécifique, vous pouvez filtrer votre liste de fichiers via la commande grep comme suit :

Syntaxe :

$ ls -l | grep -i " mot de recherche"

Exemples :

$ ls -l | grep -i sample

Cette commande listera tous les fichiers du répertoire courant avec le nom du fichier contenant le mot "privé".

Rechercher une chaîne dans un fichier

Vous pouvez récupérer une phrase à partir d'un fichier contenant une chaîne de texte spécifique via la commande grep.

Syntaxe :

grep "chaîne" nom de fichier

Exemple :

$ grep “sample file” sampleFile.txt

Mon exemple de fichier sampleFile.txt contient la phrase ayant la chaîne "exemple de fichier" que vous pouvez voir dans la sortie ci-dessus. Le mot-clé et la chaîne apparaissent sous une forme colorée dans les résultats de la recherche.

Rechercher une chaîne dans plusieurs fichiers

Si vous souhaitez rechercher des phrases contenant votre chaîne de texte dans tous les fichiers du même type, la commande grep est à votre service.

Syntaxe 1 :

$ grep "string" filenameKeyword*

Syntaxe 2 :

$ grep "chaîne" *.extension

Exemple 1 :

$ grep "sample file” sample*

Cette commande va récupérer toutes les phrases contenant la chaîne "sample file" de tous les fichiers dont le nom de fichier contient le mot-clé "sample".

Exemple 2 :

$ grep "sample file” *.txt

Cette commande récupérera toutes les phrases contenant la chaîne "fichier d'exemple" de tous les fichiers avec l'extension .txt.

Rechercher une chaîne dans un fichier sans tenir compte de la casse de la chaîne

Dans les exemples ci-dessus, ma chaîne de texte était heureusement dans le même cas que celui trouvé dans mes exemples de fichiers texte. Si j'avais saisi la commande suivante, le résultat de ma recherche aurait été nul car le texte de mon fichier ne commence pas par un mot "Sample" en majuscule

$ grep "Sample file" *.txt

Disons à grep d'ignorer la casse de la chaîne de recherche et d'imprimer les résultats de la recherche en fonction de la chaîne via l'option -i.

Syntaxe :

$ grep -i "chaîne" nom de fichier

Exemple :

$ grep -i "Sample file" *.txt

Cette commande récupérera toutes les phrases contenant la chaîne "fichier d'exemple" de tous les fichiers avec l'extension .txt. Cela ne prendra pas en compte si la chaîne de recherche était en majuscule ou en minuscule.

Rechercher sur la base d'une expression régulière

Grâce à la commande grep, vous pouvez spécifier une expression régulière avec un mot-clé de début et de fin. La sortie sera la phrase contenant l'expression entière entre votre mot-clé de début et de fin spécifié. Cette fonctionnalité est très puissante car vous n'avez pas besoin d'écrire une expression entière dans la commande de recherche.

Syntaxe :

$ grep "startingKeyword.*endingKeyword" nom de fichier

Exemple :

$ grep "starting.*.ending" sampleFile.txt

Cette commande imprimera la phrase contenant l'expression (commençant par mon mot clé de départ et se terminant par mon mot clé de fin) à partir du fichier que j'ai spécifié dans la commande grep.

Afficher un nombre spécifié de lignes après/avant la chaîne de recherche

Vous pouvez utiliser la commande grep pour imprimer un nombre N de lignes avant/après une chaîne de recherche à partir d'un fichier. Le résultat de la recherche inclut également la ligne de texte contenant la chaîne de recherche.

La syntaxe pour le nombre N de lignes après la chaîne de clé :

$ grep -A "chaîne" nom de fichier

Exemple :

$ grep -A 3 -i "samplestring" sampleFile.txt

Voici à quoi ressemble mon exemple de fichier texte :

Et voici à quoi ressemble la sortie de la commande :

Il affiche 3 lignes, dont celle contenant la chaîne recherchée, à partir du fichier que j'ai spécifié dans la commande grep.

La syntaxe pour le nombre N de lignes avant la chaîne de clé :

$ grep -B "chaîne" nom de fichier

Vous pouvez également rechercher un nombre N de lignes "autour" d'une chaîne de texte. Cela signifie N nombre de lignes avant et N après la chaîne de texte.

La syntaxe pour le nombre N de lignes autour de la chaîne de clé :

$ grep -C "chaîne" nom de fichier

Grâce aux exemples simples décrits dans cet article, vous pouvez maîtriser la commande grep. Vous pouvez ensuite l'utiliser pour rechercher des résultats filtrés qui peuvent inclure des fichiers ou le contenu du fichier. Cela vous fait gagner beaucoup de temps perdu à parcourir l'ensemble des résultats de la recherche avant de maîtriser la commande grep.


Linux
  1. Comment utiliser la commande Linux grep

  2. Comment utiliser la commande history sous Linux

  3. Comment utiliser la commande id sous Linux

  4. Utilisez la commande Linux grep

  5. Comment utiliser la commande "screen" sous Linux

Comment utiliser grep sous Linux

Comment utiliser la commande fd sur le système Linux

Comment utiliser la commande wget sous Linux ?

Comment utiliser la commande xargs sous Linux ?

Comment utiliser la commande RPM sous Linux

Comment utiliser la commande which sous Linux