zoukankan      html  css  js  c++  java
  • shell脚本day06-sed

    Linux文本处理三剑客----sed

    sed streanm edite

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

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

    一、sed的工作原理

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

    二、sed用法

      选项:

        -n

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

          匹配IP

          1、所有的都不要

          2、|或者

        -e script for while if

        -f //指定脚本文件

        -i 指定文本换行长度

        -l 直接修改文件内容(建议不要使用)

      地址定界方法:

        1、直接匹配数值

          sed -n '5,7p' 文件

        2、d~步长

          sed -n '1~3p' 文件

        3、$指定步长

          sed -n '10,$p' 文件

        4、/正则/

          /正则1/,/正则2/

          sed -n '/o{5}/,$p' 文件名.sh

        5.0,addr

          addr 可以为数字/ $/正则 

        6.addr,+n

          匹配addr行到addr后N行

          sed -n '/fd.,+5p' as

    三、常用命令

      p print 打印(默认显示到屏幕) 建议和-n一起使用;

      c替换行

      d 删除  sed "1~3" as

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

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

        sed "/PATTERN/w 新文件名"  源文件名

        sed "s/a/bb/gw /root/as2" as 只保留修改内容到新文件中

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

        语法格式:s/pattern/字符串

          中间的斜杠可以替换为任意字符

          sed"s/sf/aa" as

        g globle sed "s/a/bb/g" as

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

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

        & 调用前面匹配到的内容

          grep "testbash" /etc/passwd | sed"s/^test.*/&er/g"

  • 相关阅读:
    还原被删除的对象(域)
    Windows blue系列的安装
    转移active directry数据库文件
    使用指针让两个数交换
    针对被删除的AD DS对象执行授权还原
    这两天的总结
    小小问题
    程序2
    程序4
    程序1
  • 原文地址:https://www.cnblogs.com/ljx1/p/11390664.html
Copyright © 2011-2022 走看看