zoukankan      html  css  js  c++  java
  • sed的工作原理

    sed的工作原理:

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

    用法:

          sed[OPTON]…{script-only-if-no-script}[input-file]…

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

    常见选项:

          -n 拒绝默认显示

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

           匹配IP

           1、所有的 都不要 2、|或者

           -e script for while if

           -f 指定脚本文件

           -l 指定文本换行的长度

    地址定界方式

    1、直接匹配数值

            sed –n ‘5p’ 文件

    2、digital ~步长

            sed –n ‘1~3p’ 文件(p 打印 s替换)

    3、$指定行尾

            sed –n ’10,$p’ 文件

    4、/正则1/

            sed –n ‘/k{5,}/,$p’ abc   sed –n ‘/(as)+/,7p’ abc

    5、0,addr

            addr可以为数字/$/正则表达式   sed –n ‘0,/k{5}/p’ abc

    6、addr,+N

            配置addr行到,addr后N行

            sed –n’/fd/,+5p’ abc

           (*d 前面字符的任意次数)

    vim .代表光标所在当前行 : . ,$s/^/#/】先进入vim编辑模式:可以把从当前行开始换成#注释

    vim  : . , +3s/^#//】从第三行去掉后面的注释

    常用命令:

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

           c  替换后面指定的内容

           d  删除 sed “1,3d” a

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

            i   在匹配行的上一行添加指定的内容

                  sed”/for/i abc”99xfb.sh

            a  在匹配行的下一行添加指定的内容

                  sed”/for/a abc”99xfb.sh

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

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

    语法格式:s/pattern/字符串/  把前面的pattern替换成后面的字符串

    中间的/可以替换为任意一个特殊字符 例如:s###s@@@s%%%

           global全部  g 全部匹配

           12 和正则表达式的分组相同,实现反向引用;

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

           & 调用前面匹配的内容

    sed的高级应用:

            模式空间 ---hold space”占有空间

  • 相关阅读:
    web服务器IIS 64位无法调用32位驱动问题
    asp.net临时文件的重定向
    手机归属地演示代码
    空气质量监测演示代码
    地图坐标服务
    车辆违章查询演示代码
    Python第二天
    python第七天
    python操作MongoDB
    Python第一天
  • 原文地址:https://www.cnblogs.com/wsq-qq/p/11384844.html
Copyright © 2011-2022 走看看