关于Linux系统中sed编辑器详细讲解

                           关于Linux系统中sed编辑器详细讲解


一、sed简介

      sed是非交互式的编辑器。它默认不不编辑源文件,仅仅对模式空间中的数据做处理,并将模式空间中的内容显示在屏幕上。sed编辑器是逐行处理文件,并将结果发送到屏幕。具体过程如下:

     首先sed把当前正在处理的行保存在一个临时缓存区中(也称为模式空间),然后处理临时缓冲区中的行,完成后把该行发送到屏幕上。sed每处理完一行就将其从临时缓冲区删除,然后将下一行读入,进行处理和显示。处理完输入文件的最后一行后,sed便结束运行。sed把每一行都存在临时缓冲区中,对这个副本进行编辑,所以不会修改原文件。

二、sed基本用法

   用法格式: sed [options] ‘ Address command ‘ File 

      (1)、 常用的options

             -n :静默模式,不再默认显示模式空间中的内容

             -i : 直接修改原文件

             -e script_name -e script_name ...  : 可以同时执行多个脚本

             -f  script  file : 使用路径中的脚本处理文件

             -r: 表示使用扩展正则表达式

      (2)、 常用的address

              1,startline ,endline :定义起始行 ,结束行  如: 1,100 

              2,/ RegEXP/ :模式匹配 可以参考 :grep用法

              3,/RegEXP1/,/RegEXP2/ : 从一次被模式1匹配到的行开始,到第一次被模式2 匹配到的行结束,这中间所有的行。

              4,Linenumber : 指定要匹配的行

              5,$ :表最后一行

              6,startline , +n  :表示从starline行开始,向后n行。(总共是n+1行)


       (3)、常用的Command

                 d: 删除符合条件的行

                 p:显示符合条件的行

                 a \string: 在指定的行后面添加新的行,内容为string 

                 i \string: 在指定的行前面添加新的行,内容为string

                 r FILE : 将指定的文件内容添加到符合添加的行处

                 w FILE : 将指定地址范围内的内容另存到指定的文件中

                 s /pattern/string/修饰符: 查找并替换,默认只替换第一次被模式匹配到的字符串

                        修饰符: g: 全局替换

                                 i:忽略字符大小写

                    

三、sed 命令的巩固演示

   1、删除/etc/grub.conf文件中行首的空白符; 

         sed  "s/^[[:space:]]+//g" /etc/grub.conf   

                 




        

                 


------------------------------------------------------------------------------------------


   2、删除/etc/inittab文件中的空白行;

       sed "/^$/ d" /etc/inittab

                





            
                



---------------------------------------------------------------------------------



   3、删除/etc/inittab文件中开头的#号;  

            sed "s/^#//g" /etc/inittab

   

                




                




本文出自 “迷路的骚年” 博客,请务必保留此出处http://8855546.blog.51cto.com/8845546/1533988

关于Linux系统中sed编辑器详细讲解,古老的榕树,5-wow.com

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。