我找到了解决How do I get GNU grep to match exactly "H" and not things that just start with "H"?感谢肯特使用下列内容:支持正则表达式的GNU grep。
grep -o '\bH\b'|wc -l
,但我需要支持正则表达式,所以像
grep -o '\bH*\b'|wc -l
应符合喜欢你好的东西,嗨,等支持所有的正则表达式。
我认为-e选项可以做到这一点,但它不起作用。有人有主意吗?
我找到了解决How do I get GNU grep to match exactly "H" and not things that just start with "H"?感谢肯特使用下列内容:支持正则表达式的GNU grep。
grep -o '\bH\b'|wc -l
,但我需要支持正则表达式,所以像
grep -o '\bH*\b'|wc -l
应符合喜欢你好的东西,嗨,等支持所有的正则表达式。
我认为-e选项可以做到这一点,但它不起作用。有人有主意吗?
试图改变
grep -o '\bH*\b'|wc -l
到
grep -oP '\bH.*?\b'|wc -l
您H*
将匹配H HH HHH HHH or empty string
\bH.*?\b
将匹配H Hi Hallo Hello H_x_
手段,其次是无词边界字符H
,直到下一个\b
,如果你只是想匹配的字母,使用\bH[a-zA-Z]*\b
编辑
添加例如:
kent$ echo "H Hfoo Hbar xafHHH"|grep -Po '\bH.*?\b'
H
Hfoo
Hbar
'-e'只是让你指定一个或多个模式来匹配。虽然我明白你要完成什么,但问你是否可以拥有“支持正则表达式的GNU grep”有点像问你是否可以买一辆能驱动的汽车:) – dimo414 2013-05-06 22:55:06
'\ bH \ b'**是* *一个有效的正则表达式,它恰好不会使用任何通配符或量词。 – tink 2013-05-06 23:05:39