誰かがなぜこれが起こっているのか説明できますか?
これは予想されます:
$ echo -e "foo\nbar" | sed -n 'h; x; p'
foo
bar
ホールド スペースにすべての行を配置し、ホールド スペースとパターン スペースを交換してから、パターン スペースを出力すると、すべての行が出力されます。では、なぜ次のように違うのでしょうか。
$ echo -e "foo\nbar" | sed -n 'h; d; x; p'
スワップする前にパターンスペースを削除したので、そうではないと思ったので、保存された行はとにかくパターンスペースに戻す必要があります。の後に空いているはずのホールドスペースx;
ですよね?パターンスペースを削除してからスワップします。保存した行はどこに行きますか?