grepパターンで\ bはどういう意味ですか?


12

このコマンドは何をしますか?

grep "\bi\b" linux.txt

何を探していますか?


それは明白かもしれないが、念のために、それはありませんが、ここの間に(大きな)違いのノートである\<...\>\b...\bあなたは同じように動作二つのパターンを想定している場合は、予期しない結果を得ることができます`...参照:このリンク
ピーターは。 O

回答:


13

\b 正規表現では「単語の境界」を意味します。

このgrepコマンドを使用するiと、ファイル内のすべての単語を検索しますlinux.txti行の先頭または末尾、または文の2つのスペース文字の間に配置できます。


始まりか終わりか?スペースの間だけにあるべきではない?
アミシン

1
それについての詳細は見つかりません。しかし、「i foo」と「bar i」の行を含むファイルを手動で試してみると、上記のgrepコマンドに提供される正規表現は両方に一致しています。
uloBasEI

1
より正確には、スペースだけでなく、単語以外の文字。同じように-w --word-regexpスイッチを行いますgrep -w "i" linux.txt。たとえば、「<i> italic </ i>」のような行も一致します。
マナトワーク

0

\b(ワード境界)アンカーの代わりに使用することができます\<し、\>単語の先頭や末尾を意味します。

これがコンテンツの場合file

Hi
this
is test file
to carry out few regular expressions

次に:

$ grep -e '\ breg'ファイル
いくつかの実施するためのregウラル式を
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.