sed 結果の最後の改行文字はどこから来ましたか?

sed 結果の最後の改行文字はどこから来ましたか?

私はsedのさまざまなコマンドを学び、いくつかの実験をしています。私が試しているコマンドは次のとおりです。

root:[~]# seq 7 | sed -n '1~2H; 2~2{G;p}'
2

1
4

1
3
6

1
3
5
root:[~]#

私はコマンドを分析し、数字の後の最後の改行文字が5そこにあってはいけないと思いました。以下は私の分析です。

ここに画像の説明を入力してください。

私の分析によると、出力は赤い背景のセルでなければなりません。ご覧のとおり、最後の改行文字はありません。私はどこで間違っていますか?よろしくお願いします。

ベストアンサー1

p改行文字を追加:

% printf 1 | sed 'p;s/1/2/'
1
2%

ご覧のとおり、2印刷された内容には末尾の改行文字はありませんが、その前に1(from)pがあります。

おすすめ記事