我找到了解決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