<dl id='rnf8y'></dl>
<i id='rnf8y'></i>
<i id='rnf8y'><div id='rnf8y'><ins id='rnf8y'></ins></div></i><fieldset id='rnf8y'></fieldset>

      1. <span id='rnf8y'></span>
        <acronym id='rnf8y'><em id='rnf8y'></em><td id='rnf8y'><div id='rnf8y'></div></td></acronym><address id='rnf8y'><big id='rnf8y'><big id='rnf8y'></big><legend id='rnf8y'></legend></big></address>

      2. <tr id='rnf8y'><strong id='rnf8y'></strong><small id='rnf8y'></small><button id='rnf8y'></button><li id='rnf8y'><noscript id='rnf8y'><big id='rnf8y'></big><dt id='rnf8y'></dt></noscript></li></tr><ol id='rnf8y'><table id='rnf8y'><blockquote id='rnf8y'><tbody id='rnf8y'></tbody></blockquote></table></ol><u id='rnf8y'></u><kbd id='rnf8y'><kbd id='rnf8y'></kbd></kbd>

        <code id='rnf8y'><strong id='rnf8y'></strong></code>
          <ins id='rnf8y'></ins>

            Linux下sed命令使用全解析

            • 时间:
            • 浏览:12
            • 来源:124软件资讯网

                一、Sed简介

                Sed:Stream Editor 流式编辑器 又称行编辑器  ,每次只编辑一行  。Sed事情是在“模式空间”中举行的  ,并不操作源文件  。对源文件无危害 。

                二、Sed使用花样

                Sed下令的常用花样如下:

                (1)Sed [options] ‘script’ input_file…

                (2)Sed [options] –f script_file input_file…

                (3)Sed [options] ‘ADDR1,ADDR2command’ input_file…

                例如:#sed ’1,2d’ fstab 就可以将fstab的前两行删除并显示出来  ,可是它不会改变源文件  。

                #Sed ‘1,2!d’ fstab 表现删除除第一行和第二行之外的所有行 。

                (4)Sed [options] ‘/PATTERN/command’ input_file……

                &:s/l..e/&er/:表现引用前面匹配到的所有字符 。

                例如:sed ‘/[[:upper:]]/d’ binary.sh 表现删除所有的大写字母的行  。

                (5)Sed ‘/PATTERN1/,/PATTERN2/command’ input_file……

                说明:这表现从第一次被PATTERN1匹配到的行到第一次被PATTERN2匹配到的中心的所有行执行command下令  。

                三、Sed的常用选项:

                -n:只显示sed匹配到的行  。其余行不显示  。下文有规范  。

                -i :可以直接操作原文件 。默认情形下sed不会改变原文件  ,可是-i选项可以修改原文件  ,此选项应慎用  。

                -r:可以使用尺度正则表达式 。默认情形下sed只支持基本正则表达式  ,可是加上-r选项后则支持扩展正则表达式

                -e:多剧本共用 。可以同时执行多个下令  。例如:

                代码如下:

                [root@localhost ~]# sed -e 's@\@H\1@g' -e 's@\(l..e\)\.@\1r.@g' test

                He love His lover.

                She like Her liker.

                Dove love Her liker.

                也可以这样用  ,中心用分号离隔:

                代码如下:

                [root@localhost ~]# sed 's@\@H\1@g;s@\(l..e\)\.@\1r.@g' test

                四、使用示例

                代码如下:

                #sed -e 下令行处置惩罚 -a 新增

                > sed -e '$ a widuu' test.txt #在test.txt的末端处添加widuu


                代码如下:

                # 把-e换成-n

                > sed -n '$ a widuu' test.txt # 只显示被处置惩罚的一行


                代码如下:

                # -c 替换几多行 为你制订的字符串,这里我的test.txt内容如图

                > sed -e '2,5c xiaowei' test.txt #把2-5行替换成字符串xiaowei


                代码如下:

                # 多下令执行 -e

                > sed -e '2,5c xiaowei' -e 's/cccc/widuu/' test.txt


                代码如下:

                # -i 不输出 -s 替换

                >sed -i 's/111111/widuu/g' test.txt


                代码如下:

                # i 插入 自界说的字符串 在test.txt的第二行插入xiaowei

                > sed -e '2i xiaowei' test.txt


                代码如下:

                # d 删除输入任何字符串

                > sed -e '2d' test.txt #删除第二行