zoukankan      html  css  js  c++  java
  • LinuxDay10——文本处理工具sed

    sedStream EDitor),行编辑器

    sed [option]..'scrip' inputfile

    scrip '地址命令'

    不给地址:对全文进行处理

    单地址:

      #:指定的行  $:最后一行

      /pattern/:被此模式所能匹配到的每一行

    地址范围

      #,#

      #,+#

      /part/,/part2/

      #,/part1/

    ~:步进

      1~2奇数行

      2~2偶数行

    常用选项:

     -n关闭打印内容

     -r 使用拓展正则表达式

     -e多点编辑

     -i bak:备份文件并原处编辑

     -r 支持使用扩展正则表达式

    编辑命令:

      d删除空间模式的匹配的行

      p打印当前空间内容

      d 删除

      !模式匹配取反

      =模式空间行 加行号

      a[]text:在指定行后面追加文本

        支持使用 实现多行追加

      i[]text:在行前面插入文本

      c[]text:替换行为单行或多行文本

      w/path/somefile:保存模式匹配的行至指定文件

      r/path/somefile:读取指定文件的文本至模式空间中匹配到的行后

      =:为模式空间中的行打印行号

      !:模式空间中匹配行取反处理

    sed工具

      s///:查找替换,支持使用其他分隔符,s@@@,s###

      替换标记:

        g:行内全局替换

        p:显示替换成功的行

        w/PATH/TOSOMEFILE:将替换成功的行保存至文件中

    高级编辑命令 

      P:打印模式空间开端至 内容,并追加到默认输出之前

      h:把模式空间中的内容覆盖到保持空间中

      H;把模式空间中的内容追加至保持空间中

      g:把保持空间中的内容覆盖到模式空间

      G:把保持空间中的内容追加至模式空间

      x把模式空间中的内容与保持空间中的内容进行互换

      n把读取匹配到的行的下一行覆盖至模式空间

      N读取匹配到的行的下一行追加至

      d删除模式空间中的行

      D:如果模式空间包含换行符,则删除直到第一个换行符的模式空间中的文本,并不会读取新的输入行,而使用合成的模式空间重新启动循环。如果模式空间不包含换行符,则会像发出d命令那样启动正常的新循环

  • 相关阅读:
    webdriver中的等待——主要讲解WebDriverWait()
    flask_sqlalchemy中的db.session.update()与db.sesssion.merge()方法的区别,db.session.query(Model)与Model.query()的区别
    Python-shutil模块
    python3-对拉钩网数据爬取及简单的数据分析
    设计模式的原则
    gcc 版本降级
    ubuntu 装机及装机以后干的事情
    ubuntu 美化
    python 抢火车票
    隔行扫描, 逐行扫描
  • 原文地址:https://www.cnblogs.com/Gmiaomiao/p/8806062.html
Copyright © 2011-2022 走看看