码迷,mamicode.com
首页 > 其他好文 > 详细

sed   N和$!N 的理解使用

时间:2016-03-09 19:15:39      阅读:167      评论:0      收藏:0      [点我收藏+]

标签:sed n和$!n

   用图示详细说明。

   1.有123.txt文件,内容如下:

   技术分享

   我的想法是把hello world 替换成 halo

   2.用N命令,测试替换,如下:

   技术分享

   N的作用是追加下一行到pattern space(我的理解是临时存储空间)。

         具体命令执行过程分析:首先读入第一行 hello到pattern space,然后命令N,追加下一行 world! my name is 

am.到pattern space。注意:这个时候pattern space里有两行,就是:hello 和 world! my name is am.两行。然后执行

s/\n//;这个命令是把两行变成一行。然后再执行s/hello world/halo/。执行命令结束后,清空pattern space。读取新的一行

进入pattern space,这里是读取第三行 hello.然后又开始以上的操作。直到读完全不的数据。

         注意问题:123.txt里的最后一行的hello world 没有被替换掉。

   产生问题原因分析:123.txt总共9行,sed N命令毎执行一次处理两行,第9行是单行,执行到

这一行,因为N命令,也需要追加一行,没能执行成功N,所以替换失败。

   3.$!N。用这个命令可以解决最后一行未能替换的问题。图示如下:

   技术分享

   $!N命令解释:最后一行不执行N命令。


   4.整个操作图示:

 技术分享

本文出自 “gome学习” 博客,请务必保留此出处http://goome.blog.51cto.com/4045241/1749171

sed   N和$!N 的理解使用

标签:sed n和$!n

原文地址:http://goome.blog.51cto.com/4045241/1749171

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!