\ b在grep模式中是什么意思?


12

该命令的作用是什么?

grep "\bi\b" linux.txt

寻找什么?


可能很明显,但万一不是这样,以下是关于\<...\>和之间的(显着)区别的注释\b...\b:`如果您假设两种模式的行为相同,则会得到意想不到的结果...请参阅此链接
Peter。 Ø

Answers:


13

\b 正则表达式中的“单词边界”。

使用此grep命令,您正在搜索ifile中的所有单词linux.txti可以在一行的开头或结尾,或者在句子中的两个空格字符之间。


可以是开始还是结束??不应该只是在空间之间?
Amyassin 2011年

1
我没有找到更多详细信息。但是,通过手动处理包含“ i foo”和“ bar i”行的文件,上面提供给grep命令的regexp使两者都匹配。
uloBasEI 2011年

1
更准确地说,不仅是空格,而且是任何非单词字符。就像-w --word-regexp开关一样:grep -w "i" linux.txt。例如,像“ <i> italic </ i>”这样的行也会匹配。
manatwork,2011年

0

\b(字边界)锚可以代替使用\<,并\>以表示一个单词的开始或结束。

如果这是a的内容file

Hi
this
is test file
to carry out few regular expressions

然后:

$ grep -e'\ breg'文件
开展几 ular表达式
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.