美文网首页收藏
【sed】sed 的高级命令只之多行模式空间(N D P)篇

【sed】sed 的高级命令只之多行模式空间(N D P)篇

作者: Bogon | 来源:发表于2022-03-06 11:40 被阅读0次
image.png image.png image.png

问: 一个N 是处理 2行吗? 两个N 就是处理4行吗?
N是把当前处理行的下一行追加到模式空间(内存),再增加一个N指令,是再增加一行进来,不是4行。

问: 为啥说 sed 'N;s/\n//' 匹配不到最后一个换行符?不是每行都有换行符吗?为啥只会匹配第一行的\n ,不匹配
第二行的\n呢?

N命令规定要读取到下一行,才会继续执行它后面的s命令。
如果当前处于文件的最后一行,执行N命令后,sed会因为到达文件的结尾EOF,N命令会执行失败,导致N后面的s命令不执行。

参考

sed多行模式空间
https://time.geekbang.org/course/detail/100029601-128774

sed 的高级命令---多行模式空间(N D P)篇
http://blog.chinaunix.net/uid-25512517-id-285197.html

SED多行模式空间
https://www.cnblogs.com/nhlinkin/p/3566619.html

sed 的保持空间和模式空间的交换用法(H h;G g; x)
http://blog.chinaunix.net/uid-25512517-id-291147.html

sed 多行处理详细总结
https://www.cnblogs.com/liqiu/p/4507762.html

相关文章

网友评论

    本文标题:【sed】sed 的高级命令只之多行模式空间(N D P)篇

    本文链接:https://www.haomeiwen.com/subject/omnirrtx.html