time_read10mn de lecture

Linux grep : tuto pour une prise en main rapide

24 février 2020

Linux grep : tuto pour une prise en main rapide

La commande Linux grep signifie Global Regular Expression Print (impression d’expression régulière globale). Cette commande permet de traiter le texte ligne par ligne et d’en imprimer toutes les lignes correspondant à un modèle spécifié.

En effet, la commande Grep est utilisée pour rechercher un texte dans un fichier donné. La commande Linux grep est l’une des commandes les plus utiles sur Linux. Si cette commande n’est pas disponible sur votre serveur VPS, vous pouvez facilement l’installer par le biais du gestionnaire de paquets.

Il vous est possible d‘installer Grep en utilisant les commandes suivantes :

  • Pour les serveurs sous Debian et Ubuntu:
$ sudo apt-get install grep
  • Pour les serveurs sous RHEL, CentOS et Fedora
$ sudo yum install grep

Linux grep : quelques commandes basiques

La commande Grep se compose de trois parties dans sa forme la plus simple. Tout d’abord, vous avez la commande “grep” suivi de ce que vous recherchez. Après cette chaîne vient le nom du fichier concerné par la recherche.

La syntaxe la plus simple de cette commande est la suivante:

$ grep chaine fichier.txt

Cette commande peut contenir de nombreuses options et variations. De plus, il vous est possible de combiner autant d’options que nécessaire selon vos besoins.

Rechercher dans un fichier

Vous pouvez imprimer n’importe quelle ligne se trouvant dans un fichier. Pour cela, il est nécessaire d’utiliser la commande suivante:

$ grep chaine fichier.txt

La commande linux Grep affichera chaque ligne ou il y a une correspondance avec le mot “chaine“.

Rechercher à l’intérieur de plusieurs fichiers

Vous pouvez effectuer une recherche à l’intérieur de plusieurs fichiers. Pour cela, il vous suffit d’indiquer tous les fichiers dans lesquels rechercher en prenant soin de les séparer par un espace.

$ grep chaine fichier.txt fichier1.txt

Le terminal SSH imprimera le nom de chaque fichier contenant les lignes correspondantes à votre recherche.

Rechercher uniquement des mots entiers

Vous pouvez, grâce à la commande Linux grep effectuer une recherche sur des mots entiers uniquement. Pour cela, il faut ajouter à la commande grep “-w“.

$ grep -w chaine fichier.txt

Ignorer la casse dans les recherches grep

En effet il est bon de savoir que la commande grep est sensible à la casse. C’est la raison pour laquelle il peut être nécessaire de pouvoir imprimer les résultats en minuscule mais aussi en majuscule pour une chaîne donnée. La commande sera la suivante:

$ grep -i chaine fichier.txt

Inclure les sous-dossiers dans les résultats

Vous pouvez inclure les sous-dossiers lors de votre recherche. Pour cela, il suffit d’ajouter à la commande grep, l’opérateur “-r“.

$ grep -r chaine *

Cette commande imprimera tous les résultats trouvés dans les dossiers et sous-dossiers de l’emplacement où vous vous trouvez.

Recherche grep inverse

Grep dispose d’une commande vous permettant d’afficher toutes les lignes ne correspondant pas à un modèle spécifique. Pour cela, il sera nécessaire d’ajouter l’opérateur “-v” à la commande grep.

$ grep -v chaine fichier.txt

Imprimer les lignes correspondant à une chaîne de recherche

Afin d’imprimer les lignes correspondant uniquement à une chaîne de recherche, il est nécessaire d’ajouter l’opérateur “-x” à votre commande comme dans l’exemple suivant:

$ grep -x “mon text” *

Seules les lignes avec la correspondance exactes seront affichées. Il est à noter que si votre chaîne contient des espaces, pour que cela fonctionne, il est nécessaire d’utiliser des guillemets.

Répertorier les fichiers correspondants

Afin d’imprimer uniquement les noms des fichiers correspondant à votre recherche, il faut utiliser l’opérateur “-l“.

$ grep -l texte *

Pour rappel, il est préférable d’utiliser l’opérateur “-r” avec cette commande afin d’inclure les sous-dossiers dans le résultat de recherche.

Compter le nombre de correspondance

La commande Linux grep peut afficher le nom des fichiers et le nombre de lignes trouvées correspondant à votre recherche grâce à l’opérateur “-c“.

$ grep -c texte *

Linux Grep: quelques commandes avancées

  • ip -a: Cette commande va nous permettre d’avoir des informations sur la configuration réseau actuelle.
  • ip -a | grep “eth0”: Cette commande va permettre de filtrer le résultat de recherche. En effet, elle ne va retenir que les lignes correspondantes à “eth0”.
  • ip -a > fichier.txt : Va nous permettre de stocker le résultat dans un fichier texte.

Conclusion

Vous êtes désormais en mesure d’utiliser la commande grep sous Linux 👍  La commande grep est très flexible. De plus, en utilisant les opérateurs disponibles avec cette commande, il vous sera possible de trouver les textes cachés dans des milliers de fichiers.

Serveur VPS LWS

Avatar de l'auteur

Auteur de l'article

Fabrice S.

Développeur web full stack et consultant SEO. Je suis Fabrice, expert en développement web Full Stack, consultant SEO et noms de domaine chez LWS 🌐. J'adore partager mes astuces et mon expérience pour vous aider à briller sur le web ! Suivez-moi pour des conseils pratiques et fun 😊.

Il y a 1539 jours

note article

4.6/5 (240 votes)

Commentaires (0)
Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée.

White Book for other Category

Hébergement Web LWS - 3 mois offerts

Hébergement Web Starter LWS GRATUIT pendant 3 mois ! 🚀

Cette offre exclusive comprend tout ce dont vous avez besoin pour créer votre site web GRATUITEMENT : Hébergement 250Go SSD, 5 sites webs hébergeables, WordPress et autres CMS en 1 clic, support réactif 7J/7, serveurs en France...