うまいぼうぶろぐ

linuxとhttpdとperlのメモ

egrepの単語境界のメタキャラクタ

perlだと\bでいけるけど、egrep(grep -E)だとどうなの?わからないから調べた。'\<'と'\>'、もしくは'\b'を使えば良いらしい。

grep '\<hoge\>'  hoge.txt

これで"hoge fuga"にはマッチするけど、"hogehoge"にはマッチしない。

man grep

キャレット ^ と、ドル記号 $ は、それぞれ行頭と行末の空文字列にマッチ する メタ文字です。
シンボル \< とシンボル \> は、それぞれ単語の先頭と末尾の空文字列にマッチするメタ文字です。
シンボル \b は単語の端の空文字列 にマッチします。シンボル \B は単語の端 以外の空文字列にマッチします。