【发布时间】:2020-12-02 08:45:13
【问题描述】:
所以我有这样的 shell 脚本:
echo "stackoverflow.com:1111/?a=b&c=d" | grep -o "^.*[/:\n]"
然后它返回
stackoverflow.com:1111/
它不应该返回符号'/'、':'或'\n'之一之前的第一个前缀吗? 如何让它返回
stackoverflow.com:
使用正则表达式?
【问题讨论】:
-
试试这个
echo "stackoverflow.com:1111/?a=b&c=d" | grep -o "^[^/:\n]*" -
至少在 Ubuntu 18.04 中可以使用 @Thefourthbird
-
正则表达式很贪心!
-
\n是多余的;grep无论如何都不会超过换行符。