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   和正则表达式的分组相同,实现反向作业
                &  调用前面匹配的内容
  • 相关阅读:
    GBDT(MART)
    C#中数组中Skip、Take和Concat的用法
    VUE中对获取到的数组进行排序
    el-date-picker只能选择今天
    Vue获取时间
    执行Add-Migration Initial报错
    Vue中使用for循环绑定值
    Element UI——日期时间选择器el-date-picker开始时间与结束时间约束解决方案
    el-date-picker日期组件
    缓存的问题
  • 原文地址:https://www.cnblogs.com/shy13138/p/11387550.html
Copyright © 2011-2022 走看看