GNU sed 4.4 だとダメ2つとも最後の行が表示されるなぁ。

同じく GNU sed 4.4 だと、

echo -e "abc\ndef\nghi" | sed 'N;s/\ndef/def/g'
=>
abcdef
ghi

となって置換されるけど、

echo -e "abc\ndef\nghi\njkl\nmno" | sed 'N;s/\nghi/ghi/g'

は置換されない。これは ghi が3行目にあるから(偶数行目にあれば問題ない)。
まぁ、やるとしたらこんな感じになると思う(意味のない処理だけど)

echo -e "abc\ndef\nghi\njkl\nmno" | sed ':a;N;$!ba;s/\nghi/ghi/'