grep:词尾分隔符不起作用?

pka*_*mol 4 grep regular-expression

为什么在以下(e)grep尝试中,egrep无法识别字尾分隔符?( b)?

$ echo -n "my-pc is beautiful" | egrep  'my-pc\b'
my-pc is beautiful
/home/pkaramol
$ echo -n "my-pc-vol2 is beautiful" | egrep  'my-pc\b'
my-pc-vol2 is beautiful
Run Code Online (Sandbox Code Playgroud)

与plain 的结果相同grep吗?

jes*_*e_b 5

它确定了它不错,但grepegrep打印匹配的整条生产线,除非该-o选项用于:

-o, --only-matching

仅打印行的匹配部分。

我想你想要:

$ echo -n "my-pc is beautiful" | egrep -o 'my-pc\b'
my-pc
Run Code Online (Sandbox Code Playgroud)

单词边界是任何非单词字符。单词字符是:[a-zA-Z0-9_]。因此-不是单词字符。