zoukankan      html  css  js  c++  java
  • 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

        

  • 相关阅读:
    使用JDK创建webService
    eclipse换工作空间要做的事情
    JAVA输出表格(适配中英文)
    linux下如何用GDB调试c++程序
    C++编译的四个步骤
    linux下如何设置root密码(第一次)
    chp01、Dreamweaver介绍
    服务器端程序
    1_计算机网络概述
    Oracle Java JDBC: Get Primary Key Of Inserted Record
  • 原文地址:https://www.cnblogs.com/lyali/p/11363551.html
Copyright © 2011-2022 走看看