Sed练习

sed:编辑器

    sed:Stream EDitor,行编辑器

    用法:
        sed [opthon]... ‘script’ inputfile..

                scritp:‘地址命令’

            常用选项:
                -n:不输出模式中的内容至屏幕;默认输出;
                -e:多点编辑功能;
                -f /PATH/TO/SCRIPT_FILE:从指定文件中读取编辑脚本;
                -r:使用扩展正则表达式,默认基本正则表达式
                -i:原处编辑;相当于直接编辑
    地址定界:
        1:不给地址;对全文进行处理;
        2:单地址;                
            #:指定的行
            /pattern/:被此处模式所能够匹配到的每一行;
        3:地址范围;
            #,#
            #,*#
            /pat1/,/pat2/

    编辑命令:
        d:删除
            ~]# sed '/^UUID/d' /etc/fstab     ;删除uuid开头的行
            ~]# sed '/^#/d' /etc/fstab         ;删除空行;
            ~]# sed '1,5d' /etc/fstab         ;删除1-5行的文件
        p:打印显示模式空间中的内容至屏幕上;结合-n使用

            ~]# sed -n  '/^UUID/p' /etc/fstab

        a \text:在行后面追加文本,支持使用\n实现多行追加;

            ~]# sed '/^UUID/a \# hello sed' /etc/fstab

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

            ~]# sed '/^UUID/i \# hello sed' /etc/fstab

        c \text:替换行为单行和多行文本;

            sed '/^UUID/c \# hello sed' /etc/fstab

        w  /path/to/somefile:保存模式空间匹配到的行至指定文件中;

            ~]# sed '/^UUID/w /tmp/fstab.txt' /etc/fstab

        r /path/from/somefile: 读取指定文件的文本流至模式空间匹配到的行的行后;

            ~]# sed '6r /etc/issue' /etc/fstab

        = :为模式空间中的行打印行号;
        
            ~]# sed '/^UUID/=' /etc/fstab

        !: 取反条件;地址定界取反;

            ~]# sed '/^UUID/!d' /etc/fstab

        s///:支持使用其他分隔符;s@@@,s###;
            替换标记:
                g:行内全局替换;
                p:如果替换成功的行
                w: /PATH/TO/SOMEFILE:将替换成功的结果保存至指定文件中

            ~]# sed 's@^UUID@uuid@' /etc/fstab
            ~]# sed -n 's@r..t@&er@p' /etc/passwd
    
    高级编辑命令:

        h:把模式空间中的内容覆盖至保持空间中;
        H:把模式空间中的内容追加至保持空间中;
        g:从保持空间取出数据覆盖至模式空间;
        G:从保持空间取出内容追加至模式空间;
        x:吧模式空间中的内容与保持空间中的内容进行互换;
        n:读取匹配到的行的下一行至模式空间;
        N:追加匹配到的行的下一行至模式空间;
        d:删除模式空间中的行;
        D;删除多行模式空间中的所有行;






转载于:https://www.cnblogs.com/Juvenile/p/8817702.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值