zoukankan      html  css  js  c++  java
  • shell脚本——sed命令

    sed 命令
        作为行编辑器,对文件进行编辑(以行为单位进行编辑)
        sed编辑文件,却不改变原文件
        sed工作原理:
            指定一个文本文件,依次读取文本文件中的每行内容,读取到模式空间中,在模式空间中进行匹配,对匹配后的内容进行修改
        用法:
            -n  拒绝默认显示
            -r   指定用扩展的正则表达式
                匹配ip
                1、所有的都不要,2、|或者
            -e   script  for while if
            -l   指定文本换行长度
        地址定界方式:
            1、直接匹配数值:sed -n '5p' 文件
            2、d~指定步长:sed -n '1~3p' 文件
            3、$  指定行尾: sed -n '10,$p' 文件
            4、/正则/
                   /正则1/,/正则2/
                    sed -n '/k{5,}/,$p' abc
                    sed -n '/(fd)+/,7p' abc ?正则写在前面就没有问题,写在后面就又问题
            50,addr
                addr可以作为数字/$/正则表达式
                sed -n '0,/k{5,}/p' abc
            6、addr,+N
                sed -n '/fd/,+5p' abc
        常见命令
            p  print  打印(默认在屏幕上显示出来)  建议-n 一起使用
            c  替换行
                sed "/aaa/c A" a
            d  删除
                sed "/aaa/d " a
                sed "1,3d" a
            n  N  读取/添加   模式匹配到的下一行内容,再对其进行操作
            w  保存文件内容到一个新的文件
            *S*  文本内容替换,默认替换模式空间匹配到的第一项
                语法格式:s/pattern/string/
                中间的/可以替换为任意一个特殊字符  例如s### s@@@ S%%%%w
                g  全局
                1  2   和正则表达式的分组相同,实现反向作业
                &  调用前面匹配的内容
  • 相关阅读:
    eclipse/intellij idea 查看java源码和注释
    理解线程池,看这篇足够了-转
    乐观锁的幂等性方案
    springboot2.0以后的junit
    详解 Java 中的三种代理模式
    MYSQL慢查询配置
    MySQL 数据库性能优化之SQL优化【转】
    SQL中EXPLAIN命令详解---(转)
    spring的面试
    sql joins 7
  • 原文地址:https://www.cnblogs.com/shy13138/p/11387550.html
Copyright © 2011-2022 走看看