当使用带或不带全局g选项的管道时,结果相同:
echo -e 'hi\nhello\nhi' | sed '1s/hi/hey/g'
hey
hello
hi
不使用全局g选项时也适用于此处字符串:
sed '1s/hi/hey/' <<< $(echo -e 'hi\nhello\nhi')
hey hello hi
但是当使用全局g选项和here-string替换每一行的模式时:
sed '1s/hi/hey/g' <<< $(echo -e 'hi\nhello\nhi')
hey hello hey
为什么在使用全局替换标志和输入来自这里字符串时输出会发生这种变化?