zoukankan      html  css  js  c++  java
  • 8.16 sed命令

    sed命令
        linux文本处理三剑客之 sed
        sed stream Editor
        作为行编辑器对文本进行编辑(以行为单位进行编辑)
        注意:sed编辑文件却不改变原文件

      sed的工作原理:  
        指定一个文本文件,依次读取文本文件中每行的内容,读取到模式空间中(pattern space),
        在模式空间中进行文本匹配(正则表达式),对匹配后的内容进行修改(替换,删除,打印,修改,保存等)
      sed的用法:
        sed [OPTION]... {script-only-if-no-other-script} [input-file]...
        sed [参数] "sed独立用法格式语句" [文本文件]

      常见选项
        默认全部输出
        -r 指定使用扩展的正则表达式
              匹配IP
              1、所有的都不要
              2、|表示或者

        -n 拒绝默认显示
        -e script
        -f 指定脚本文件
        -l 指定文本换行的长度
        -i 直接修改文件内容
      地址定界方式
        1、直接匹配数字
        sed -n `5p` 文件
        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` 文件

      常见命令:
        1、p print 打印(默认在屏幕上显示出来)建议和 -n 一起使用;
        2、c 替换
        sed "/要替换的内容/c 替换内容" 文件
        3、d 删除
        sed "/aaaa/d" 文件
        4、n N 读取/添加 模式匹配到的行的下一行内容,再对其进行操作
        5、w 保存文件内容到一个新的文件
        6、s 文本内容替换,默认替换模式空间匹配到的第一项;
        语法格式:s/pattern/字符串/
        中间的/可以替换为任意一个特殊字符
        g global 全部
        12 和正则表达式的分组相同,实现反向应用;
        指定某一个匹配项进行替换
        & 调用前面匹配的内容

      sed的高级应用
        模式空间 - - hold space“占有空间”

  • 相关阅读:
    CodeForces-455A Boredom
    UVA-12627 Erratic Expansion
    汉诺塔系列问题
    CodeForces-999D Equalize the Remainders
    CodeForces-1061D TV Shows
    CodeForces-1061B Views Matter
    UVALive-7261 Xiongnu's Land
    HDU-4990 Reading comprehension
    -------------------------------用MyBatis处理表与表之间的关联关系----------------------------------
    -------------计算机里面算法-----------
  • 原文地址:https://www.cnblogs.com/liuyuanzzz/p/11365279.html
Copyright © 2011-2022 走看看