sed使用详解

sed:Stream EDitor

    行编辑器

    语法:sed [OPTION]... {script-only-if-no-other-script} [input-file]...

    常用选项:

        -n, --quiet, --silent:使用安静(silent)模式。在一般 sed 的用法中,所有来自STDIN的资     料一般都会被列出到屏幕上。但如果加上 -n 参数后,则只有经过sed 特殊处理的那一行(或者动       作)才会被列出来。

        -e script, --expression=script:多点编辑

        -f script-file, --file=script-file

        -f /path/to/script-file:直接将 sed 的动作写在一个档案内, -f filename 则可以执行     filename 内的sed 动作;

        -r, --regexp-extended:支持使用扩展正则表达式

        -i :直接在原文件里编辑

    地址定界:

        (1) 不给地址:对全文进行处理

        (2) 单地址:# :第#行

                    /pattern/:被pattern匹配到的每一行

        (3) 地址范围:#,# : 第#到#

                      #,+#:第#到其后面#行

                      /pat1/,/pat2/:从pattern1匹配到的至pat2匹配到的行

                      #,/pat/:第#行到pat匹配到的行

    编辑命令:

        d :删除

        p :打印 ,sed默认会将符合条件的行显示,所以只使用p会输出两次匹配行

        a text :在每个符合条件的行后面追加text,支持使用\n实现多行追加

        i text : 在行前面插入文本,支持使用\n实现多行插入

        c text :替换符合条件的多行文本

        w filename :将符合条件的内容另存为filename

        r filename :将filename中的内容读取到符合条件的行后面

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

        !: 条件取反

        s/查找/替换/ : 查找替换( 也可使用s@@@ s### )

            替换标记:g:glob行内全局替换,默认为替换第一个

                      s/查找/&替换/ : &:引用查找条件符合的变量       

    示例:

        -n,p:打印/etc/fstab文件的第8到9行,单独使用"p"命令匹配到的行会出现两次,同"-n"同     时使用,则只打印匹配行      

   sed使用详解_第1张图片

        -e:一行命令中可执行多次"-e"选项,进行多次编辑。删除/etc/fstab文件中1到3行和8到10行。

sed使用详解_第2张图片

        -f,a text:将a text编辑命令写入sedtest文件内,使用"-f"选项引用sedtest文件执行符合     条件的每行后追加text内容

 sed使用详解_第3张图片

        -i:直接在原文件里编辑

sed使用详解_第4张图片

        i text /ntext1:实现在行前面插入多个文本

sed使用详解_第5张图片

        c text:替换符合条件的行为text

        sed使用详解_第6张图片

        w filename:将符合条件的内容另存为filename        sed使用详解_第7张图片

        r filname:将filename中的内容读取到符合条件的行后面    sed使用详解_第8张图片

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

sed使用详解_第9张图片

        !: 条件取反:条件为上例条件,则显示符合条件之后所有行的行号。

    sed使用详解_第10张图片

        s/查找/替换/ : 查找替换( 也可使用s@@@ s### ):将“UUID”字符替换为“armo”

sed使用详解_第11张图片

       高级编辑命令:

              h:把模式空间中的内容覆盖至保持空间中

              H:把模式空间中的内容追加至保持空间中

              g:从保持空间取出数据覆盖至模式空间

              G:从保持空间取出数据追加至模式空间

              x:把模式空间中的内容与保持空间中的内容进行互换

              n:读取匹配到的行的下一行到模式空间

              N:追加匹配到的行的下一行到模式空间

              d:删除模式空间中的行

              D:删除多行模式空间中的所有行


你可能感兴趣的:(File,表达式,expression,编辑器)