美文网首页
文本处理工具sed,awk

文本处理工具sed,awk

作者: wanncy | 来源:发表于2019-04-08 21:24 被阅读0次

    在写 shell 脚本的时候经常会用到这两种文本处理工具:sed awk;主要记录一下两者的常用方式:

    sed

    sed: stream editor
    用例: sed 's/xxxx/xxxx/g' inputfile

    • 逐行处理,可进行文本的查找、替换与删除
    • 可使用正则表达式
    • 参数: d 删除: sed '/The/d' inputfile 删除包含 The 的行
    • 参数: s 替换: sed 's/A/B/g' inputfile 常与参数 g 结合进行全局替换

    详细参考:Sed 命令详解 & 正则表达式

    awk

    • GNU AWK 是一种文本处理工具
    • AWK 更是一种编程语言
    • 执行流程:BEGIN block --- read lines and repeat command --- END block
    • awk 用的最多的是根据匹配的行,打印选定的列或域:awk '/a/ {print $1}'
    • 可以通过在BEGIN block中通过 FS,RS,OFS,ORS来分别指定输入域、行分隔符和输出域,行分隔符
      awk 'BEGIN{FS="\n";RS="";ORS=""}{for(x=1;x<=NF;x++){print $x"\t"} print "\n"}' ./t.txt

    详细参考:W3School
    Regex Tutorial For Linux (Sed & AWK) Examples

    总结

    shell中的文本处理工具除了上述外,grep -e 也是一种很强大的工具。

    相关文章

      网友评论

          本文标题:文本处理工具sed,awk

          本文链接:https://www.haomeiwen.com/subject/qxhmiqtx.html