Recherche de site Web

Qu’est-ce que GREP sous Linux et comment l’utilisez-vous ?


Grep est un petit programme Unix permettant de rechercher des modèles correspondants. Commencé en tant que programme Unix, il peut être trouvé sur Linux ainsi que sur Mac et BSD. Il peut lire à peu près n'importe quel texte, ce qui signifie qu'il peut lire les entrées d'autres commandes, ou qu'il peut ouvrir et parcourir directement des fichiers. Grep est incroyablement utile, en particulier pour parcourir des répertoires à partir de la ligne de commande.

Avec cela, pourquoi ne pas essayer l’une des utilisations les plus courantes de Grep : rechercher un fichier dans un répertoire. Recherchez dans votre dossier « ~/Téléchargements » des images « jpg ».

ls ~/Downloads | grep .jpg

Grep les listera tous et mettra en évidence la partie ".jpg" puisque c'est ce que vous avez recherché.

Vous dirigez la sortie (avec la commande "|") de presque n'importe quelle commande vers grep. Si vous disposez d'un fichier texte brut, cat et transférez le résultat vers Grep pour trouver un mot spécifique.

cat file.txt | grep word

Grep imprimera toutes les lignes du fichier contenant le mot que vous lui avez demandé de rechercher.

Oubliez l'affaire

Les systèmes de type Unix sont sensibles à la casse, ce qui signifie que « Ubuntu » est complètement différent de « Ubuntu ». Cela peut être pénible lorsqu’on cherche quelque chose. Grep a un indicateur pour éliminer le problème. Ajoutez l'indicateur -i à votre recherche et Grep ignorera la casse.

ls ~/Downloads | grep -i Ubuntu

Rechercher dans un fichier

Ce ne serait pas très pratique d'avoir besoin de cat à chaque fois que vous vouliez rechercher un fichier. En fait, ce n’est pas le cas. Grep peut rechercher lui-même dans les fichiers. Transmettez-lui le chemin d'accès au fichier et Grep fera le reste.

grep -i word /path/to/file.txt

Recherches récursives

Grep peut rechercher dans plusieurs fichiers ou répertoires en même temps. Soyez averti, si vous recherchez des noms de fichiers, Grep recherchera également dans les fichiers par défaut. L'indicateur -r indique à Grep de rechercher de manière récursive.

ls ~/Downloads | grep -r .deb

Vous pouvez également l'associer à d'autres drapeaux. Vous souhaiterez peut-être inclure l'indicateur -I lorsque vous effectuez des recherches récursives pour empêcher Grep de parcourir les fichiers binaires.

ls ~/Downloads | grep -iIr .deb

Trouvez le contraire

Vous pouvez également demander à Grep de rechercher tout ce qui ne contient pas le modèle spécifié. Ce serait utile dans les cas où vous avez besoin de trouver une erreur ou si vous disposez d'un répertoire contenant de nombreux fichiers d'un ou deux types.

grep -rv '192.168.1.110' /etc/nginx

Mots et lignes

Il peut également être utile de demander à Grep de rechercher des mots ou des lignes complètes, plutôt que tout ce qui contient un certain modèle. Imaginez que vous recherchiez une chaîne de caractères commune dans un mot, mais dont vous avez besoin qu'elle soit distincte. Par exemple, le mot « ça ». Évidemment, il n'y aurait pas beaucoup de fois où vous voudriez réellement rechercher un modèle comme « ça », mais cela prouve le point.

cat textfile.txt | grep -w it

Au lieu d'imprimer chaque mot contenant le motif, Grep n'imprimera que le mot lui-même. Il fait la même chose pour des lignes entières avec l'indicateur -x, donc si vous recherchez une phrase ou une seule ligne dans un fichier de configuration, cela peut vraiment aider.

Si vous souhaitez étudier tout que Grep peut faire, exécutez man grep dans un terminal pour obtenir la documentation complète. Cet article couvre les bases et tout ce dont vous aurez normalement besoin de cet outil puissant. Partagez avec nous si vous connaissez des utilisations puissantes de la commande Grep.

Crédit image : points d'intérêt du script Shell pour les coordonnées

Articles connexes