
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
ここに違反はありません。">
andの終わりと一致しますlink">
が、andの終わりとは一致しません</a>
。これはandの終わりとのみ一致します>
。