• sed笔记


    以下是要介绍的全部基础命令:

    名称命令语法说明
    替换 s [address]s/pattern/replacement/flags 替换匹配的内容
    删除 d [address]d 删除匹配的行
    插入 i [line-address]i ext 在匹配行的前方插入文本
    追加 a [line-address]a ext 在匹配行的后方插入文本
    行替换 c [address]c ext 将匹配的行替换成文本text
    打印行 p [address]p 打印在模式空间中的行
    打印行号 = [address]= 打印当前行行号
    打印行 l [address]l 打印在模式空间中的行,同时显示控制字符
    转换字符 y [address]y/SET1/SET2/ 将SET1中出现的字符替换成SET2中对应位置的字符
    读取下一行 n [address]n 将下一行的内容读取到模式空间
    读文件 r [line-address]r file 将指定的文件读取到匹配行之后
    写文件 w [address]w file 将匹配地址的所有行输出到指定的文件中
    退出 q [line-address]q

    读取到匹配的行之后即退出  

    替换命令:

    [address]s/pattern/replacement/flags
      flags为:

    ● n: 一个数字(取值范围1-512),表明仅替换前n个被pattern匹配的内容;

    ● g: 表示全局替换,替换所有被pattern匹配的内容;

    ● p: 仅当行被pattern匹配时,打印模式空间的内容;

    ● w file:仅当行被pattern匹配时,将模式空间的内容输出到文件file中;

    删除命令:  

    [address]d

          

    插入行/追加行/替换行命令: i/a/c

    # Append 追加
    [line-address]a
    text
    # Insert 插入
    line-address]i
    text
    # Change 行替换
    [address]c
    text
     
    打印命令: p/l/=
    sed -n '2p' 444.out
    #单独输出第二行
    sed -n '4l' 444.out
    #输出第四行显示控制字符
    sed  '=' 444.out
    #输出时附带行号
     
     

    转换命令: y

    转换命令的语法是:

    [address]y/SET1/SET2/
    用SET2来替换SET1
    在匹配的行上,将SET1中出现的字符替换成SET2中对应位置的字符,与tr类似
    $ echo "hello, world" | sed 'y/abcdefghijklmnopqrstuvwxyz/ABCDEFGHIJKLMNOPQRSTUVWXYZ/'
    HELLO, WORLD
      
    $ echo "hello, world" | tr a-z A-Z                                                    
    HELLO, WORLD
     
    读写文件命令
    [line-address]r file
    [address]w file
      
      

        

  • 相关阅读:
    Nova中的系统状态分析
    nova Flavors
    NovaException: Unexpected vif_type=binding_failed
    nova Reboot (重启)
    nova Rescue 和 Unrescue
    nova shelve
    nova Evacuate
    ceilometer alarm 创建过程中的DB操作及优化
    Ceilometer 数据库比较
    network namespace连接的4种方法及性能
  • 原文地址:https://www.cnblogs.com/flyr/p/5485491.html
Copyright © 2020-2023  润新知