且构网

分享程序员开发的那些事...
且构网 - 分享程序员编程开发的那些事

sed

更新时间:2022-09-16 16:58:23

sed初级使用

   stream editor

一次只读一行,只处理一行,不对源文件做处理,至输出到屏幕上

模式空间

是一个行编辑器


格式

   sed[options] "script" FILE....


选项:

   -n:静默模式,不输出模式空间内的内容;默认打印空间模式的内容

   -r:扩展的正则表达式

   -f 文件:指定sed脚本文件

   -e 'script' -e 'script' :指定多个编辑指令

   -i : 直接编辑原文件

编辑命令:

    d:删除

    p: 打印

    i  \:在被指定到的行前面插入文本

    a  \:在被指定的行的下面插入文本

    \n:换行

    r 文件:在指定位置把另外一个文件的内容插入

    w 文件:将符合条件的所有行保存至指定文件中

    =:显示符号条件的行的行号

    s///:查找条件可以使用模式,但是要替换的内容不行


地址定界:自定义的起始行到结束行

  startline,endline

   1,3

   /pat1/,/pat2/

   /pattern/


 用法:sed [options] 'addr1[,addr2]编辑命令' FILE...

       sed [options] "addr1[,addr2]编辑命令" FILE...

      

 正则表达式:

     基本的

        字符:

           .

           []

           [^]

        次数

           *

           \?

           \{m,n\}

         锚定:

           ^

           $

           \<,\b

           \>,\b

         分组:

          \(\)

         引用:

          \1,\2,……

     扩展: 

        字符:

           .

           []

           [^]

        次数

           *

           ?

           {m,n}

           +

         锚定:

           ^

           $

           \<,\b

           \>,\b

         或:

           a|b

         分组:

          \(\)

         引用:

          \1,\2,……

    sed '地址定界s@查找条件@替换文件@'

       修饰符:

          g:global,全局替换

          i:ignore-case,不区分字符大小写













本文转自younger00851CTO博客,原文链接: http://blog.51cto.com/younger008/1982694,如需转载请自行联系原作者