• Linux文本处理三剑客之sed命令


    Linux文本处理三剑客之sed命令

    1、sed命令作为流编辑器,对文本以行为单位进行编辑,但是sed命令只会编辑文件,不会改变源文件的内容。

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

    3、sed用法:sed  [参数] "sed自己独立的用法格式的语句" [文本文件]

    4、常见选项:-n:取消默认输出                    

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

            -e:后面加脚本(如for,while等命令)

            -f:指定脚本文件

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

            -i:修改文件内容

    5、地址定界方式:1、直接匹配数值 (sed -n‘5~7p’)

             2、步长 (sed -n‘1~3p’文件)

             3、$ 指定行尾 (sed -n‘10,$p’文件)

             4、正则表达式 (sed -n ‘/k{5,},$p’ abc)【正则写在前面就没有问题,写在后面就有问题】

             5、0,addr (addr可以为数字/$/正则表达式)  

             6、addr +n (配置到addr行到addr后n行)

    6、常见命令:p:print  打印(默认在屏幕上显示出来)建议和-n一起使用

          c:替换  例:sed “/aaa/c A” a(a是文件名)  

            d:删除行  例:sed “/aaa/d” a 

                    sed “1,3d” a

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

            w:保存文件内容到一个新的文件   例:Sed “/k/w tmp/aabbcc” abc

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

  • 相关阅读:
    oracle 动态SQL
    Oracle 学习PL/SQL
    SQL优化原理
    JAVA环境配置
    Java接口
    Java数据类型、操作符、表达式
    C#-VS配置开发环境-摘
    Java版本
    网站构建
    Java 时间、字符串
  • 原文地址:https://www.cnblogs.com/Eucalyptusleaves/p/11421871.html
Copyright © 2020-2023  润新知