我一直认为+是1或更多而*是0或更多...
echo sample text | grep --color s*e\b
echo sample text | grep --color s+e\b
两个版本都没有抓住单词sample
答案 0 :(得分:2)
使用星号或加号是乘数。
此外,您需要更好地将grep模式用单引号括起来。
在你的情况下,这将有效:
grep --color 's.*e\b'
Asterisk在s =任意字符后乘以点数,所以在上面的命令中,你要求grep为你带来以s
开头的文本加上任何其他字符(.
)多次({{ 1}})加上一个*
,所有这些都由一个单词bountary e
分隔。
您的初始命令\b
将匹配字母s多次(*)的单词。例如,您将捕获grep --color 's*e\b'
字下方:
ssssse
还有其他方法可以完成这项工作。