zoukankan      html  css  js  c++  java
  • sed基本使用

    1. 删除由空格组成的空白行
        sed '/^ *$/d' test.txt     sed '/[ ][ ]/d' test.txt 
    2. 删除空白行
        sed '/^[[:space:]]*$/d' test.txt
    3. 删除空格开头的行
        sed '/^ /d' test.txt
    4. 删除制表符(tab)的空白行
        sed '/	/d' test.txt
    

      

                             

    5. 删除字母开头的行
        sed '/^[a-Z]/d' test.txt
    6. 删除以注释行
        sed '/^#/d' test.txt
    7. 删除指定行
        sed '2d' test.txt
    8. 删除多行
        sed '1,3d' test.txt    ---删除1到3行
        sed '3,$d' test.txt    ---删除第三行到最后一行
    
    9. 打印
        sed '2p' test.txt        ---打印第2行
        sed -n '2p' test.txt    ---打印第2行,不显示文件内容
        sed -n '2,5p' test.txt  ---打印2-5行
    
    10. 替换
        sed 's/4/8/'  test.txt   ---4替换8,每行第一个4替换为8
        sed 's/4/8/'  test.txt   ---将每行所有的4替换为8
        sed '/asf21/s/e/8/' test.txt  ---先查看asf21再讲e替换为8
        sed -e '1d' -e 's/asf/21/g' test.txt  ---多重编辑,先删除第一行,再替换asf为21
        sed '/asf/c 123' test.txt    ---查找asf的行全部覆盖为123
    
    11. 插入
        sed '/sad/a 123' test.txt    ---在sad后面插入一行123
        sed '/sad/i 123' test.txt     ---在sad前面插入一行123
    
    12. 退出
        sed '8q' test.txt   ---打印前8行后退出
        
    13. 抓取ip地址
        ifconfig ens33 | sed '/.*inet /!d;s///;s/ .*//'
        .*inet: .表示任意字符,*任意多个前导字符
                inet 192.168.163.130  netmask 255.255.255.0  broadcast 192.168.163.255
        s///:前面//不适用配置规则,则使用上一步的匹配结果
               后//匹配为空字符串删除
        192.168.163.130  netmask 255.255.255.0  broadcast 192.168.163.255
        s/ .*//:将1个空格和后面的任意字符串删除
        192.168.163.130
    

      

  • 相关阅读:
    Windows Server 2008 R2 免费使用 7200天 激活
    ceph部署步骤
    for循环间隔修改(解决把以空格隔开需要把一整行作为整体)
    my_learn
    fiddler-抓包
    基础软件搭建
    【原创】一层Nginx反向代理K8S化部署实践
    【原创】K8S使用ceph-csi持久化存储之CephFS
    【原创】K8S使用ceph-csi持久化存储之RBD
    [原创]自动化部署K8S(v1.10.11)集群
  • 原文地址:https://www.cnblogs.com/The-day-of-the-wind/p/12063750.html
Copyright © 2011-2022 走看看