GNU/Linux >> Tutoriels Linux >  >> Linux

Est-il possible d'utiliser grep pour ne récupérer que des mots complets ?

 -w, --word-regexp
              Select  only  those  lines  containing  matches  that form whole
              words.  The test is that the matching substring must  either  be
              at  the  beginning  of  the  line,  or  preceded  by  a non-word
              constituent character.  Similarly, it must be either at the  end
              of  the  line  or  followed by a non-word constituent character.
              Word-constituent  characters  are  letters,  digits,   and   the
              underscore.

à partir du man grep


Vous pouvez également utiliser ceci :

echo "this is the theater" |grep --color '\bthe\b'

Car un mot est le même avec -w.
Mais si vous avez besoin de rechercher plusieurs modèles, vous pouvez utiliser \b, sinon tous les modèles seront traités comme des mots si -w est utilisé.

Par exemple :

grep -w -e 'the' -e 'lock'

mettra en surbrillance et verrouiller mais pas verrouiller / cadenas etc.

Avec \b vous pouvez traiter chaque motif -e différemment.

Testez-le ici.


Vous pouvez tester la présence du début (resp. fin) d'un mot avec le marqueur \< (resp. \> ).

Ainsi,

grep "\<the\>" << .
the cinema
a cinema
the theater
a theater
breathe
.

donne

the cinema
the theater

Linux
  1. Comment utiliser la commande Linux grep

  2. Comment utiliser la commande Grep pour rechercher du texte dans des fichiers

  3. Est-il possible d'utiliser / dans un nom de fichier ?

  4. grep ne correspond qu'aux lignes d'une plage spécifiée

  5. Grep dans un énorme fichier journal (> 14 Go) uniquement les derniers x Go ?

Comment utiliser la commande grep sous Linux/UNIX

Comment utiliser la commande Grep sous Linux + exemples utiles de Grep

Comment faire bon usage de la commande 'grep'

Comment utiliser la commande grep sur Debian 10

Comment utiliser grep sous Linux

Utilisation de la commande grep sous Linux