你需要在这里进行非贪婪的匹配,以便在第一次出现时停止.但由于grep默认情况下不支持非贪婪匹配,因此可以使用否定字符类:
grep
echo "word word" | grep -o 'w[^r]*rd'
如果你有GNU grep,那么你可以使用-P选项来启用Perl正则表达式语法.然后这会工作:
-P
echo "word word" | grep -Po 'w.*?rd'