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 .jpgGrep 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 wordGrep 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 UbuntuRechercher 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.txtRecherches 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 .debVous 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 .debTrouvez 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/nginxMots 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 itAu 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




