我正试图抓住最后一个空格,并使用grep在一行上跟随它.
这抓住了我的第一个空间:
echo "toto tata titi" | grep -o " .*$"
在Java中我会使用非贪婪的运算符,但它似乎不起作用:
echo "toto tata titi" | grep -o " .*?$"
它什么都没有
预期的结果是titi.
解决方法
替换.使用[^],它匹配除空间之外的所有内容.然后它可以是贪婪的.
echo "toto tata titi" | grep -o " [^ ]*$"
(如果你想让grep使用扩展的正则表达式,可以使用egrep或grep -E.)