sedでNコマンドを使用すると最後の行で何が起こるか

sedでNコマンドを使用すると最後の行で何が起こるか

これが私の sed コマンドです:

echo -e "AB\nCD\nEF\nGH" | sed 'N; D;'

次のように印刷されます:

GH

入力を 1 行ずつ処理しているときにsed、最後の行で何が起こりますか? (その後にsedEnd-Of-File が表示された場合)? つまり、パターン バッファーには 1 行しか含まれません。

答え1

処理を停止します。sed マニュアル:

  • N: パターン スペースに改行を追加し、次の入力行をパターン スペースに追加します。これ以上入力がない場合、sed はそれ以上のコマンドを処理せずに終了します。

したがって、 に到達することはなくD;、最後の だけが残りますGH

関連情報