我本以为这两个调用sed
会返回相同的输出,因为它默认以贪婪的方式寻找模式。为什么不?
$ echo '<a href="/topic/null-hypothesis/" data-sc="text link:topic link">Null hypothesis</a>' | grep -E '<a href="/topic.*</a>' | sed 's/<a href=.*">//'
Null hypothesis</a>
$ echo '<a href="/topic/null-hypothesis/" data-sc="text link:topic link">Null hypothesis</a>' | grep -E '<a href="/topic.*</a>' | sed 's/<a href=.*>//'
附:
$ bash --version
bash --version
GNU bash, version 4.4.19(1)-release (x86_64-pc-linux-gnu)
PS2:我从 更正sed
为grep
。
PS3:从 更正grep
为sed
。
答案1
我在这里没有看到任何违规行为。">
与 的结尾匹配link">
,但不与 的结尾匹配</a>
,后者仅与 匹配>
。