来源:自学PHP网 时间:2015-04-14 11:51 作者: 阅读:次
[导读] 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
<script></script>
|
自学PHP网专注网站建设学习,PHP程序学习,平面设计学习,以及操作系统学习
京ICP备14009008号-1@版权所有www.zixuephp.com
网站声明:本站所有视频,教程都由网友上传,站长收集和分享给大家学习使用,如由牵扯版权问题请联系站长邮箱904561283@qq.com