
例: 次のファイルがあります。
AA ABC-AA-AA
AAA ABC-AA
ABC.AA ABC
AA ABC.A AA
を使用すると、grep -w "ABC" file1
すべての行を取得します。
しかし、3行目だけが必要です。ABC.AA ABC
単語の区切り記号としてと.
を使用します。-
しかし、単語の区切り文字にはスペースだけが必要です。
答え1
(GNU)のgrep(1)
マニュアルページから:
-w, --word 正規表現
単語全体を構成する項目を含む行のみを選択してください。テストでは、一致する部分文字列が行の先頭にあるか、単語を作成しない文字が前にある必要があります。繰り返しますが、行の末尾にあるか、単語を形成しない文字が後に続く必要があります。単語を構成する文字は、文字、数字、下線です。。
したがって、空白(または行の始まりおよび/または終わり)を明示的に要求する必要があります。
grep -E '(^| )ABC( |$)' file1
他のスペース文字も含めるには、上記のスペースをより大きなセットに置き換えます(たとえば、マニュアルページをもう一度参照して[[:space:]]
ください)。grep(1)