将 N 命令与 sed 一起使用时,最后一行会发生什么

Maj*_*imi 4 sed text-processing

这是我的 sed 命令:

echo -e "AB\nCD\nEF\nGH" | sed 'N; D;'
Run Code Online (Sandbox Code Playgroud)

它打印:

GH
Run Code Online (Sandbox Code Playgroud)

sed逐行处理输入时,最后一行会发生什么?(之后什么时候sed看到文件结束)?我的意思是模式缓冲区只包含 1 行。

ckh*_*han 5

它停止处理。从sed 手册

  • N: 向模式空间添加换行符,然后将输入的下一行附加到模式空间。如果没有更多输入,则 sed 退出而不处理任何更多命令。

所以它永远不会到达D;,而你只剩下最后一个GH.