Можно ли использовать grep для получения только полных слов?

Когда я использую команду grep, все вхождения слова подбираются, даже если они являются частью других слов. Например, если я использую grep для поиска вхождений слова «the», он также выделит «the» в «театре»,

Есть ли способ адаптировать команду grep, чтобы она только собирала полные слова, а не часть слов?

-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. 

от man grep

Также вы можете использовать это:

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

Ибо одно слово совпадает с -w.
Но если вам нужно искать несколько шаблонов, вы можете использовать \ b, иначе все шаблоны будут обрабатываться как слова, если -w используется.

Например :

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

будет выделять и блокировать, но не блокировать ключ / замок и т. д.

С помощью \ b вы можете обрабатывать каждый шаблон -e по-разному.

Проверьте его здесь .

Вы можете проверить наличие начала (соответственно конца) слова с помощью маркера \< (resp. \> ).

Таким образом,

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

дает

 the cinema the theater