• sed命令


    1、Linux文本处理三剑客之 sed(Sed stream EDite)

      作为行编辑器,对文本进行编辑(以行为单位编辑)

      注意:sed编辑文件,却不改变原文件

    2、Sed的工作原理:

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

    3、用法:

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

    sed [OPTION]... {script-only-if-no-other-script} [input-file]...

    4、常见选项

       -n  不显示默认输出的内容

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

        匹配IP

           所有的都不要

          |或者

      -e  script  for while if

      -f  指定脚本文件

      -l  指定文本换行的长度?

    5、地址定界方式

    (1)直接匹配数值

        sed -n ‘5-7’

    (2)d~步长

    (3)$ 指定行尾

    (4)/正则/

      /正则1/,/正则2/

        sed -n `/k{5,}/,$p` abc

        sed -n `^(fd)+/.+2p` abc //正则写在前面没有问题,但写在后面会出现问题

    (5)0,addr

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

        sed -n `0,/k{5,}/p` abc

    (6)addr,+N

        配置addr行到,addr后N行

        sed -n `/fd/,+5p` abc

    6、常见命令

      p  print 打印(默认在屏幕上显示出来),建议和-n一起使用;

      c  替换

        sed "/aaa/c A" a

      d  删除

        sed "/aaa/d" a

        sed "1,3d" a

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

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

        sed "/patthen/w 新的文件名"y原来的文件名

        sed "/k/w /tmp/aabbcc" abc

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

        语法格式: s/pattern/字符串/       //中间的/可以替换为任意一个特殊字符

        常见命令:g   全部

             12 h和正则表达式的分组相同,实现反向应用;(指定某一个匹配项进行修改替换)

             & d调用前面(pattern)匹配的内容

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

  • 相关阅读:
    Arch 真好用
    Spring 自定义注解-字段注解
    Raft论文概述
    Raft成员变化(Membership Change)
    Reactor模式详解
    高性能IO之Reactor模式
    WinFrm中多线程操作窗体属性
    Reactor模式
    高并发中的线程与线程池
    二层交换机与三层交换机区别详解!
  • 原文地址:https://www.cnblogs.com/www-k/p/11379257.html
Copyright © 2020-2023  润新知