服务器技术

 首页 > 服务器技术 > Linux > sed高级命令之n、N - Linux操作系统:Ubuntu_Centos

sed高级命令之n、N - Linux操作系统:Ubuntu_Centos

分享到:
【字体:
导读:
          sed的语法格式:sed [option] {sed-command} {input-file}sed在正常情况下,将处理的行读入模式空间(pattern space),脚本中的sed-command(sed命令)就一条接着一条进行处理,知道脚本执行完毕。然...

 

sed的语法格式:

sed [option] {sed-command} {input-file}

sed在正常情况下,将处理的行读入模式空间(pattern space),脚本中的“sed-command(sed命令)”就一条接着一条进行处理,知道脚本执行完毕。然后该行呗输出,模式(pattern space)被清空;接着,在重复执行刚才的动作,文件中的新的一行被读入,直到文件处理完毕。

但是,由于种种原因,如用户希望在某个条件下,脚本中的某个命令被执行或希望模式空间(pattern space)保留,以便下一次使用,这都有可能使sed在处理文件的时候,不按照正常的流程来进行处理,这时候就需要用sed高级命令来满足需求。

 

先来说说命令n和命令N

命令n:读取下一行到pattern space。由于pattern space中有按照正常流程读取的内容,使用n命令后,pattern space中又有了一行,此时,pattern space中有2行内容,但是先读取的那一行不会被取代、覆盖或删除;当n命令后,还有其他命令p的时候,此时打印出的结果是n命令读取的那一行的内容。

看下图,你就明白了。

新建文件,其内容如下

cat 1.txt

1

2

正常sed流程

使用n命令后,

N命令:将下一行添加到pattern space中。将当前读入行和用N命令添加的下一行看成“一行”。

新建文件1.txt

cat 1.txt

1

2

正常sed流程

使用N命令后

参考:

《sed and awk 第二版》

Have a nice day!!!
 
摘自http://www.cnblogs.com/fhefh/archive/2011/11/14/2248942.html
      上一篇:linux 用户切换su 命令横杠的作用 - Linux操作系统: 下一篇:Ubuntu 字体美化-微软雅黑和宋体 - Linux操作系统:
    分享到:
    Ubuntu 字体美化-微软雅黑和宋体 - Linux...
      Ubuntu 字体美化-微软雅黑和宋体   刚刚接触到LINUX,总是感觉里面的字体怪怪的,也许是习惯了WINDOWS的字体吧;         于是想到将LINUX的字体更换成WINDOWS的字体。         首先,先准备好WINDOWS的字体,一般是微软雅黑和宋体,大家可以从WINDOWS操...
    一天一点学习Linux之RHEL6上逻辑卷管理LV...
      我们在生产中会经常遇到磁盘空间不够用的情况,无论你前期规划的多精细,但最终还是会遇到这样的问题(所以磁盘的分区就没有一个标准的格式,只能是根据自己的服务器应用来适当的进行划分)。那么遇到这样的问题怎么办,如何来解决,这就是我们今天的主题:逻辑卷管理(LVM)。   LVM 的全名是Logical Volume ...
    •         php迷,一个php技术的分享社区,专属您自己的技术摘抄本、收藏夹。
    • 在这里……