sed高级命令之n、N
来源:岁月联盟
时间:2011-11-15
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<script></script>
最近更新
随机推荐
- nt_usdm.exe - nt_usdm
- 用Ghost备份系统 别忘了加载Smartdrv
- 大地哥布林和精灵哥布林分别可以变身
- 超级QQ专属QQ秀可以赠送他人吗?
- QQ空间个人中心礼物模块中最多可以显
- 如何让Excel总是显示所有的菜单选项?
- Outlook Express阅读邮件中的附件
- GB2312简体中文编码表
- QQ宠物企鹅开通粉钻获得的蓝莓香囊怎
- 飞车紫钻玩家尊贵紫色昵称和紫钻标志
- Photoshop照片处理:调色校正偏红风景
- QQ龙珠连锁之20连以上的创造方法
- RAMASST.exe - RAMASST
- Photoshop制作木质的文件夹教程
- 我密保手机号早改了,无法绑定二级密
- 双系统重装Windows后引导Linux的小技
- 为什么启动QQ,软件盘会自动出来?
- 手机网络怎么配置?
- 盗号受理填单后多久能找回装备?
- QQ牧场新增“一键收/一键偷”的功能