Présentation
grep signifie "impression d'expression régulière globale" et c'est une commande utile sous Linux.
La commande grep est utilisée pour filtrer les fichiers d'entrée qui correspondent à une expression régulière, puis les imprimer sur la sortie standard. Et il est également très important d'exclure les mots et les modèles ou les dictionnaires et les fichiers.
Vous trouverez ci-dessous le guide sur la façon d'exclure dans grep comme nous le verrons ci-dessous.
Exclure les mots et les modèles
Pour afficher les lignes qui ne correspondent pas au modèle de recherche, utilisons le -v option.
J'ai maintenant un fichier nommé fn.txt.qui contient le contenu suivant :
Par exemple, je veux exclure la ligne qui contient le mot fonction :
$ grep -v function fn.txt
Sortie :
Comme vous pouvez le voir, la ligne qui contient le mot fonction est filtrée.
si la chaîne que vous voulez rechercher contient un espace, vous devez utiliser des parenthèses ou des guillemets.
Par exemple, je souhaite exclure la ligne contenant la chaîne ab cd :
$ grep -v 'ab cd' fn.txt
Sortie :
si vous souhaitez spécifier plusieurs chaînes à la fois, utilisons le -e option.
Par exemple, je veux exclure la limite et la chaîne abcd :
$ grep -v -e limit -e abcd fn.txt
Sortie :
Si vous souhaitez exclure uniquement les mots qui s'affichent au début d'une ligne. Par exemple, je souhaite exclure le mot fonction qui apparaît en début de ligne
$ grep -v '^function' fn.txt
Sortie :
Étant donné que le mot fonction apparaît à la fin de la ligne, il ne sera pas exclu.
Exclure des répertoires et des fichiers
Pour exclure un répertoire que vous avez spécifié, utilisez le –exclude-dir avec -R ou -r option. -R suivra tous les liens symboliques. C'est aussi la plus grande différence entre -r et -R options.
Par exemple, je souhaite exclure les fichiers contenant la chaîne cat dans /home/ubuntu répertoire :
$ grep -R --exclude-dir=ubuntu cat /home
Sortie :
La partie rouge est filtrée.
Pour exclure plusieurs répertoires à la fois, placez les répertoires entre accolades et séparez-les par des virgules sans espace.
Par exemple, je souhaite exclure les fichiers contenant la chaîne Linux dans ubuntu et nourriture répertoire :
$ grep -r --exclude-dir={ubtuntu,food} linux /
Sortie :
La partie rouge est filtrée.
Conclusion
Vous avez déjà parcouru les détails de la façon d'exclure dans grep.
Merci d'avoir lu.