GNU/Linux >> Linux の 問題 >  >> Linux

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'

1 つの単語は -w と同じです。
ただし、複数のパターンを検索する必要がある場合は、\b を使用できます。そうしないと、-w が使用されている場合、すべてのパターンが単語として扱われます。

例:

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

and lock を強調表示しますが、keylock /padlock などは強調表示しません。

\b を使用すると、各 -e パターンを異なる方法で処理できます。

ここでテストしてください。


マーカー \< を使用して、単語の先頭 (または末尾) の存在をテストできます。 (それぞれ \> ).

したがって、

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

与える

the cinema
the theater

Linux
  1. `find -exec Sh -c`を安全に使用することは可能ですか?

  2. 5つまたは6つの数字のみを含む行のGrep?

  3. LinuxまたはFreeBSDでGrepコマンドを使用する方法

  1. Linux で .dll を使用可能

  2. ファイル名に / を使用できますか?

  3. grep は指定された範囲内の行のみに一致します

  1. Linuxgrepコマンドの使用方法

  2. Grepコマンドを使用してファイル内のテキストを検索する方法

  3. Command Grepを使用して検索しますか?