有人可以解释为什么会这样吗?
这是预期的:
$ echo -e "foo\nbar" | sed -n 'h; x; p'
foo
bar
我把每一行放在保持空间中,然后交换保持空间和模式空间,然后打印模式空间,这样每一行都被打印了。现在,为什么以下不同?
$ echo -e "foo\nbar" | sed -n 'h; d; x; p'
我认为不会,因为我在交换之前删除了模式空间,所以无论如何都应该将存储的行放回模式空间。之后应该是空的容纳空间x;
,对吗?我删除模式空间,然后交换。我保存的线路在哪里?