• Linux文本处理三剑客----sed


    sed作为行编辑器对文本进行编辑

    sed编辑文件,却不改变源文件

    sed的工作原理:

      指定一个文本文件,一次读取文本文件中每行的内容,读取到模式空间中(PATTERN SPACE),在模式空间中进行文本匹配(正则表达式),对匹配后的内容进行修改(替换,删除,修改,打印,保存)

    用法:

      sed [参数] “sed自己独立的用法格式的语句” [文本文件]

      参数选项:

        -n  拒绝默认显示

        -r  指定使用扩展的正则表达式

          匹配IP

            1、所有的、都不要

            2、|或者

        -e  写script

        -f  指定脚本文件

        -l  指定文本换行的长度

        -i  直接修改文件内容

      地址定界方式

        1、直接匹配数值

          sed -n ‘5,7’p 文本文件

        2、d ~ 步长

          sed -n ‘1~3p’ 文本文件

        3、$指定行尾

          sed -n ‘10~$p’ 文本文件

        4、/正则/

          sed -n '/k{5,}/,$p' 文本文件

        5、0,addr

          addr可以为  数字/$/正则表达式

          sed -n ‘0,/k、{5,、}p’ 文本文件

        6、addr,+N

          配置addr行到addr后N行

          sed -n '/fd/,+5p' 文本文件

      常见命令

        p print 打印

        d  删除

        c  替换

          sed "/aaa/c A" 文本文件

        n N 读取/添加  模式匹配到行的下一行内容,在对其进行操作

        w  保存文件内容到一个新的文件

        s  文本内容替换,默认替换模式空间匹配到的的一项内容

          语法格式:s/pattern/字符串/

            中间的/可以替换为任意一个特殊字符

          g  全部

          1 2 和正则表达式的分组相同,实现反向应用

            指定某个匹配项进行修改替换

          &  调用前面匹配的内容

            sed "s/r..t/&er/g" 文件

          w

          p

      sed的高级应用

        模式空间  --  hold space

        

  • 相关阅读:
    前端学习数据库之子元素
    最详细win7下手动搭建PHP环境:apache2.4.23+php7.0.11
    Javascript实现页面跳转的几种方式
    读书笔记:《HTML5开发手册》Web表单
    C#开发微信门户及应用(26)-公众号微信素材管理
    APP开发基础知识
    C#学习路线
    ASP.NET机制详细的管道事件流程
    SQL Serve中的6种事务隔离级别简单总结
    Asp.net设计模式笔记之一:理解设计模式
  • 原文地址:https://www.cnblogs.com/lyali/p/11363551.html
Copyright © 2020-2023  润新知