En tant qu’administrateur système sur un système Linux, vous devrez peut-être analyser un énorme fichier journal sous Linux. Cela peut sembler une tâche fastidieuse, en particulier dans les cas où vous devez faire correspondre des modèles. Heureusement, la commande grep sous Linux est une aubaine pour de telles situations. Si vous vous demandez ce qu’est la commande grep et comment elle fonctionne, ci-dessous, nous avons préparé un guide simple pour vous aider à comprendre cette commande Linux utile.
Table des matières
Qu’est-ce que la commande grep sous Linux ?
La commande grep est un puissant outil de ligne de commande sous Linux utilisé pour rechercher et filtrer des modèles ou des chaînes spécifiques dans un fichier, répertoire, ou même dans la sortie d’autres commandes. Vous vous interrogez peut-être sur son nom inhabituel ; eh bien, cela signifie”Global Regular Expression Print”. Il a été introduit pour la première fois par Ken Thompson en 1973 pour le système d’exploitation Unix. Avec sa polyvalence et sa facilité d’utilisation, la commande grep est un outil indispensable dans l’arsenal de chaque utilisateur Linux.
Généralement, la commande grep est préinstallée sur la plupart des distributions Linux, mais si vous constatez qu’elle manque sur votre système, installez-la à l’aide des commandes suivantes :
Installer sur des systèmes basés sur Debian :
sudo apt install grep
Installer sur des systèmes basés sur Fedora :
sudo yum install grep
Installer sur des systèmes basés sur Arch :
sudo pacman-S grep
Commande grep : syntaxe et options
L’utilisation de la commande grep sous Linux est assez simple, grâce à sa syntaxe simple et aux multiples options avec lesquelles jouer. La syntaxe pour utiliser la commande grep est :
grep
Dans la syntaxe ci-dessus, remplacez le
Comment utiliser la commande Grep sous Linux
L’utilisation de la commande grep est simple et suit une syntaxe simple. Tout ce que vous avez à faire est de fournir le nom de fichier ou le répertoire que vous souhaitez rechercher et le modèle que vous souhaitez faire correspondre. Pour le motif, vous pouvez utiliser les mots exacts ou des expressions régulières. Vous devez vous demander-qu’est-ce que”l’expression régulière”ici ? Les expressions régulières sont des chaînes spéciales qui sont interprétées différemment lorsqu’elles sont utilisées dans des domaines spécifiques. Ils sont remplacés par toutes les combinaisons possibles correspondant au motif.
Supposons, par exemple, que vous souhaitiez faire correspondre des adresses e-mail, vous pouvez utiliser l’expression régulière”(.+)\@(.+)\n”. Ça vous paraît compliqué ? Décomposons ceci :
(.+) correspond à tous les caractères sauf les nouvelles lignes\@ vérifie si le symbole”@”est présent dans la phrase donnée.
Maintenant que vous savez ce que sont les expressions régulières et comment fonctionne la commande grep, voyons maintenant comment utiliser la commande grep sous Linux.
Rechercher des chaînes dans des fichiers avec la commande grep
La manière la plus courante d’utiliser grep consiste à rechercher des chaînes spécifiques dans un fichier. La syntaxe de base pour rechercher avec la commande grep dans les fichiers est :
grep
Dans la partie
grep”mango”fruits.txt
Si vous voulez pour rechercher en ignorant la casse, utilisez le drapeau-i avec la commande grep pour l’exemple ci-dessus:
grep-i”mango”fruits.txt
Recherche dans plusieurs fichiers avec grep
Avec la commande grep, vous pouvez non seulement rechercher dans un seul fichier, mais également dans plusieurs fichiers. Cette fonctionnalité devient particulièrement pratique lorsque vous devez parcourir plusieurs fichiers volumineux. La syntaxe pour rechercher des chaînes/modèles dans plusieurs fichiers avec la commande grep est :
grep
Par exemple, si vous voulez pour rechercher la chaîne”student”, dans les fichiers”student1.txt”et”student2.txt”, utilisez cette commande :
grep”John”student1.txt student2.txt
Rechercher tous les fichiers dans un répertoire avec grep
Supposons que vous deviez rechercher une chaîne et que vous ne vous souveniez pas du nom du fichier là où il existe. Vous pouvez évidemment écrire tous les noms de fichiers présents dans le répertoire, mais à la place, vous pouvez simplement utiliser le caractère générique”*”comme indiqué :
grep
Par exemple, si vous souhaitez rechercher la chaîne”apple”dans tous les fichiers présents dans le répertoire, utilisez cette commande :
grep”apple”*
Si vous souhaitez rechercher uniquement dans des types de fichiers spécifiques, utilisez ceci syntaxe :
grep
Par exemple, si vous souhaitez rechercher le mot”mangue”uniquement dans les fichiers.txt, utilisez ceci commande :
grep”mango”*.txt
Utilisation d’une expression régulière avec grep
Le principal avantage de l’utilisation de la commande grep par rapport à d’autres outils/commandes est la possibilité de traiter des expressions régulières pour rechercher contenu. Incluez simplement l’indicateur-e avec la commande grep pour effectuer une recherche à l’aide d’expressions régulières :
grep-e
Par exemple, si vous souhaitez filtrer les identifiants de messagerie utilisez cette commande :
grep-e”(.+)\@(.+)”emails.txt
Rechercher plusieurs mots-clés à l’aide de la commande grep
À présent, vous devez être à l’aise avec la recherche pour certains motifs ou mots utilisant grep. Mais que se passe-t-il si vous devez rechercher plusieurs mots/motifs ? Eh bien, grep vous couvre également pour cela. Pour rechercher plusieurs mots à l’aide de la commande grep, utilisez cette syntaxe :
grep”
Ici, le \| spécifie grep pour imprimer le résultat si l’une des deux requêtes correspond. Par exemple, si vous souhaitez rechercher les mots « pomme » et « mangue » dans le fichier « fruits.txt », utilisez cette commande :
grep”pomme\|mangue”fruits.txt
Compter les résultats correspondants en utilisant la commande grep
Parfois, vous devrez peut-être connaître le nombre de résultats correspondants. Pour cela, vous pouvez utiliser l’indicateur-c avec la commande grep :
grep-c”pattern_to_search”filename
Par exemple, si vous avez besoin de voir combien d’identifiants de messagerie sont présents dans le fichier student1.txt, utilisez cette commande:
grep-E-c”(.+)@(.+)”student1.txt
Si vous souhaitez voir le nombre de lignes ne correspondant pas à la requête de recherche , ajoutez simplement le drapeau-v avec-c :
grep-v-E-c”(.+)@(.+)”student1.txt
Utilisation de la commande grep avec Shell Pipes
La façon dont les canaux shell fonctionnent sous Linux est qu’ils envoient la sortie d’une commande à une autre commande en entrée. La syntaxe de base pour utiliser les canaux shell est:
first_command | second_command
Avec les canaux shell, filtrer certaines sorties de commande avec la commande grep devient beaucoup plus facile, au lieu de faire défiler constamment et de rechercher quelque chose. Pour filtrer un mot ou un motif spécifique à partir d’une sortie de commande spécifique, remplacez simplement
first_command | grep
Par exemple, si vous voulez voir combien de fois la commande gcc a été exécutée précédemment, vous pouvez utiliser cette commande :
history | grep gcc
Cela n’affichera que les résultats contenant le mot”gcc”, comme indiqué dans l’image ci-dessous.
Utilisation de la commande grep sous Linux
La commande grep est un outil essentiel pour les utilisateurs qui souhaitent rechercher des modèles ou des mots spécifiques dans divers fichiers, répertoires ou même dans d’autres sorties de commande Linux. Une fois que vous avez maîtrisé toutes les options et la syntaxe essentielles, la commande grep peut vous aider à augmenter votre productivité de manière exponentielle. Pendant que vous êtes ici, découvrez les nouvelles fonctionnalités d’Ubuntu 23.04.
Commande grep dans la FAQ Linux
La commande grep est-elle sensible à la casse lors de la recherche de modèles ?
Par défaut, grep fonctionne d’une manière sensible à la casse. Mais, si vous devez rechercher en ignorant la casse, utilisez le drapeau-i.
Comment puis-je rechercher dans des fichiers compressés ?
Zgrep, une version modifiée de grep peut être utilisée pour recherche dans les fichiers compressés. La syntaxe pour rechercher dans les fichiers compressés à l’aide de la commande zgrep est : zgrep”
Laisser un commentaire
L’année dernière, MSI a lancé le Titan GT77 avec l’Intel Core i9-12900HX et le RTX 3080 Ti Laptop GPU, et c’était l’ordinateur portable de jeu le plus puissant de la planète. C’était le plus gros des gros frappeurs […]
Cela fait quelques mois que la série iPhone 14 a été lancée, et il est bien établi que c’est l’année des modèles Pro. Mais si vous avez l’intention d’opter pour les pros à froufrous, le montant à débourser […]
Wondershare a développé certains des meilleurs logiciels et outils pour simplifier notre vie et nos efforts créatifs au cours des dernières années. En particulier, Wondershare Filmora a reçu de nombreuses distinctions. Il a reçu le prix Video Editing Leader […]