• 【shell】强大的流编辑器sed用法


    Date: 2018.7.4


    1、参考:

    http://man.linuxde.net/sed
    https://www.cnblogs.com/ctaixw/p/5860221.html

    2、sed用法总结

    (1)命令格式

    sed [options] 'command' file(s)
    sed [options] -f scriptfile file(s)

    (2)选项
    -e [scriptfile]或–expression= [scriptfile]:以选项中的指定的script来处理输入的文本文件;
    -f [scriptfile]或–file=[scriptfile]:以选项中指定的script文件来处理输入的文本文件;
    -h或–help:显示帮助;
    -n或–quiet或——silent:仅显示script处理后的结果;
    -V或–version:显示版本信息。
    (3)sed命令

    a 在当前行下面插入文本。(追加)
    i 在当前行上面插入文本。
    c 把选定的行改为新的文本。
    d 删除,删除选择的行。
    D 删除模板块的第一行。
    s 替换指定字符
    h 拷贝模板块的内容到内存中的缓冲区。
    H 追加模板块的内容到内存中的缓冲区。
    g 获得内存缓冲区的内容,并替代当前模板块中的文本。
    G 获得内存缓冲区的内容,并追加到当前模板块文本的后面。
    l 列表不能打印字符的清单。
    n 读取下一个输入行,用下一个命令处理新的行而不是用第一个命令。
    N 追加下一个输入行到模板块后面并在二者间嵌入一个新行,改变当前行号码。
    p 打印模板块的行。
    P(大写) 打印模板块的第一行。
    q 退出Sed。
    b lable 分支到脚本中带有标记的地方,如果分支不存在则分支到脚本的末尾。
    r file 从file中读行。
    t label if分支,从最后一行开始,条件一旦满足或者T,t命令,将导致分支到带有标号的命令处,或者到脚本的末尾。
    T label 错误分支,从最后一行开始,一旦发生错误或者T,t命令,将导致分支到带有标号的命令处,或者到脚本的末尾。
    w file 写并追加模板块到file末尾。  
    W file 写并追加模板块的第一行到file末尾。  
    ! 表示后面的命令对所有没有被选定的行发生作用。  
    = 打印当前行号码。  
    # 把注释扩展到下一个换行符以前。  

    (4)替换功能

    替换file文件中的字符串:

    sed 's/book/books/' file

    -n选项和p命令一起使用表示只打印那些发生替换的行:

    sed -n 's/test/TEST/p' file

    直接编辑文件选项-i,会匹配file文件中每一行的第一个book替换为books:

    sed -i 's/book/books/g' file

    全面替换标记: /g

    sed 's/book/books/g' file

    (5)删除操作

    删除空白行:

    sed '/^$/d' file
    

    (6)其他功能命令:
    r:读文件 w:写文件 a:追加 i:插入


    sed的功能是很强大的,常用功能主要有上面这些,后续碰到新的功能再更新于此。

    持续更新中。。。。。

  • 相关阅读:
    下载程序的疑问
    Beaglebone环境建立:电源适配器供电+网线ssh
    Android百分比布局支持库介绍——com.android.support:percent
    android应用中去掉标题栏的方法
    自己写的进度条
    返回图片指定点的RGB值
    修改指定图片的分辨率
    跨域访问的问题和解决过程
    C#取硬盘、CPU、主板、网卡的序号 ManagementObjectSearcher
    Sql Server字符串函数
  • 原文地址:https://www.cnblogs.com/SoaringLee/p/10532423.html
Copyright © 2020-2023  润新知