sed命令的N和D总结,以及sed调试器的下载
-
当执行N时会将下一行内容加入pattern空间用\n来区分行与行直接的关系
-
N的执行流程
如果后面没有跟上D操作。就结束。如 例1(可以理解为已经将下一行加进来了) -
当有参数时,N和D的执行顺序:
sed的执行顺序都是看pattern空间的最后一行的序号,参照 例2-3
比如patt空间现在是1\n2,如果后面没有D指令,那么就会从2后面开始,比如说第3行,类似1\n2\n3执行的是3后面的一行,第4行 -
当N和D一起用时,会起到一种循环的效果,只有当D不再执行了,才会将pattern空间的内容清空,参考4-5
seq 1 3 | sed '$!N;$!D'
-
N D 一起用时,类似于一个循环,在循环外的只有在循环结束时才会执行, 参照例6-7。
如 以下两个命令的差别seq 1 3 | sed '$!N;$!D;p' seq 1 3 | sed '$!N;p;$!D