単語区切り記号としてスペースのみを使用して正確な単語を見つける方法

単語区切り記号としてスペースのみを使用して正確な単語を見つける方法

例: 次のファイルがあります。

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)

おすすめ記事