-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.
od man grep
Můžete také použít toto:
echo "this is the theater" |grep --color '\bthe\b'
Neboť jedno slovo je stejné s -w.
Pokud však potřebujete prohledat více vzorů, můžete použít \b, jinak budou všechny vzory považovány za slova, pokud je použito -w.
Například:
grep -w -e 'the' -e 'lock'
zvýrazní a lock, ale ne keylock/visací zámek atd.
Pomocí \b můžete s každým vzorem -e zacházet jinak.
Vyzkoušejte to zde.
Přítomnost začátku (resp. konce) slova můžete otestovat pomocí značky \<
(resp. \>
).
Tedy,
grep "\<the\>" << .
the cinema
a cinema
the theater
a theater
breathe
.
dává
the cinema
the theater