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

行编辑器sed

时间:2015-12-28 06:44:59      阅读:188      评论:0      收藏:0      [点我收藏+]

标签:行编辑器sed

 sed的工作模式:逐行复制文件到sed编辑器的pattern space(模式空间)进行匹配,不能匹配的行文件默认显示到标准输出,我们也可也加(-n)禁止输出;能匹配到的行文件编辑后显示到标准输出,或者输出到sed编辑器的hold space(保持空间)中 ,通过模式空间与保持空间的互调能将匹配到的文件用更高级的方式显示到标准输出。

            sed [OPTION]...  ‘script‘  [input-file] ...

sed不管文件能不能被匹配到,都会显示到标准输出。所以在使用参数p是需要加-n选项

技术分享删除:

             删除匹配到的文件的最后一行  ~]# sed ‘$d‘ yum.conf

技术分享

             删除匹配到的文件的1到10行  ~]# sed ‘1,10d‘ yum.conf 

技术分享

             删除匹配到的文件的偶数行 ~]# sed ‘1~2d‘ yum.conf

技术分享

              删除匹配到的文件的奇数行~]# sed ‘2~2d‘ yum.conf

技术分享

插入和追加:

            在匹配到的文件的行后面追加指定的文本 ~]# sed ‘2~2a\GOOD‘ yum.conf

技术分享


            在匹配到的文件的行前面插入指定的文本 ~]# sed ‘2~2i\GOOD‘ yum.conf 

技术分享

            将匹配到的文件的行替换成指定的文本     ~]# sed ‘2~2c\GOOD‘ yum.conf  

技术分享

            显示匹配到的每行的行号            ~]# sed ‘2~2=‘ yum.conf 

技术分享

写入文件并保存到指定的文件中

            将文件最后一行保存到y.conf中  ~]# sed ‘$w /y.conf‘ yum.conf

技术分享

            将文件y.conf的内容写入到yum.conf文件中的第一行  ~]# sed ‘1r /y.conf‘ yum.conf 

技术分享

最后sed还支持扩展正则表达式,如:将yum.conf文件中以#号开头的行及#号后所有空白字符替换成~

            ~]# sed ‘s@^#[[:space:]]*@~@‘ yum.conf 

技术分享


行编辑器sed

标签:行编辑器sed

原文地址:http://10996738.blog.51cto.com/10986738/1728827

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