• shell入门-sed-1


    sed这个工具比grep复杂一点,功能比grep复杂一点

    功能也能指定匹配的行,不能颜色显示

    sed 基础功能

    [root@wangshaojun ~]# sed -n '10'p 1.txt
    uucp:x:10:14:uucp:/var/spool/uucp:/sbin/nologin

    不加-n 第十行出现两遍 p打印的意思

    可以指定范围

    1到10行

    [root@wangshaojun ~]# sed -n '1,10'p 1.txt

    ....

    共10行

    从25行到结尾

    [root@wangshaojun ~]# sed -n '25,$'p 1.txt

    ....$

    匹配指定关键词root的行

    [root@wangshaojun ~]# sed -n '/root/'p 1.txt
    root:x:0:0:root:/root:/bin/bash
    operator:x:11:0:operator:/root:/sbin/nologin

    和egrep的意思一样

    一个字符

    [root@wangshaojun ~]# sed -n '/r.o/'p 1.txt

    .....

    0个或多个r

    [root@wangshaojun ~]# sed -n '/r*o/'p 1.txt

    .....

    0个或1个r

    [root@wangshaojun ~]# sed -n '/r?o/'p 1.txt

    ......

    1个或多个r

    [root@wangshaojun ~]# sed -n '/r+o/'p 1.txt

    .....

    包含root或者nologin的行

    [root@wangshaojun ~]# sed -n '/root|nologin/'p 1.txt

    ......

    匹配1个或多个oo

    [root@wangshaojun ~]# sed -n '/(oo)+/'p 1.txt == sed -n -r '/(oo)=/' 1.txt

    ....

    匹配数字开头的行

    [root@wangshaojun ~]# sed -r -n '/^[0-9]/'p 1.txt

    ....

    匹配包含数字的

    [root@wangshaojun ~]# sed -r -n '/[0-9]/'p 1.txt

    ....

    匹配空行

    [root@wangshaojun ~]# sed -r -n '/^$/'p 1.txt

    .....

    ////////////////////////////////////////////////////////////////////////////////////

    sed比grep多的功能

    不显示空格行

    [root@wangshaojun ~]# sed '/^$/'d 1.txt

    ......

    不显示包含数字的行

    [root@wangshaojun ~]# sed '/[0-9]/'d 1.txt

                               (空行)

    #$%%^&#@!!?????>>><<:"}{

    不显示包含字母的行


    [root@wangshaojun ~]# sed '/[a-zA-Z]/'d 1.txt

                                       (空行)

    #$%%^&#@!!?????>>><<:"}{
    112234556754576543

    不显示1到25行

    [root@wangshaojun ~]# sed '1,25'd 1.txt

    .....$

    删除选项 

    -i  

    [root@wangshaojun ~]# wc -l 1.txt
    31 1.txt
    [root@wangshaojun ~]# sed -i '1,29'd 1.txt
    [root@wangshaojun ~]# wc -l 1.txt
    2 1.txt

    ///////////////////////////////////////////////////////////////////////////////////////////////

    总结:sed和grep的参数基本一样  选项-r去脱意符号 -n只显示指定 -i删除 p打印 d不显示的

  • 相关阅读:
    工作中问题的总结1
    linux问题故障
    时间转换
    Tips
    总结
    方向
    同步&异步-阻塞&非阻塞
    IO 之 mark()、reset()
    GC日志分析
    JDK 部分工具使用方法
  • 原文地址:https://www.cnblogs.com/wangshaojun/p/4976030.html
Copyright © 2020-2023  润新知