而且我一直以爲是+ 1以上,*爲0或更多...grep的不grepping
echo sample text | grep --color s*e\b
echo sample text | grep --color s+e\b
兩個版本不斂字樣品
而且我一直以爲是+ 1以上,*爲0或更多...grep的不grepping
echo sample text | grep --color s*e\b
echo sample text | grep --color s+e\b
兩個版本不斂字樣品
使用星號或加號是一個乘數。
此外,您需要更好地用單引號括起grep模式。
你的情況,這會工作:
grep --color 's.*e\b'
Asterisk是乘點S =任何字符之後,於是有了上面的命令你問的grep爲您帶來先從s
加上任何其他字符的文本(.
)多次(*
)加上一個e
和所有這一切由一個單詞bourgary \b
分開。
您的初始命令grep --color 's*e\b'
將匹配具有字母s多次(*)的單詞。例如,你會趕上ssssse
字波紋管:
echo "ssssse text" | grep --color 's*e\b'
還有其他的方法也做這個工作。
偉大的,但我不明白爲什麼這是工作: 回聲示例文本| grep --color's。* e \ b' 而這不是: echo示例文本| grep --color s。* e \ b – PUG
@PUG手冊中的grep頁面描述了要匹配的模式必須用單引號括起來,不用引用模式,結果可能是錯誤的(正如您在測試)。 –
嘗試'grep --color -P's。*?e'' –
嘗試'grep --color -E's * e \ n'' – Jiahao
@PS工作但是我必須使用Perl嗎? :/ – PUG