zoukankan      html  css  js  c++  java
  • linux awk你所不知道的用法,会了可以省好多功夫!!!

    1.指定多个分隔符,这几个分隔符同时起作用

    例:以空格和逗点为分隔符

    2.key数组法,用于处理二维数据

    例:我上篇日志中那个老大的命令

    awk 'NR==FNR{key=$1" "$2" "$3;a[key]=$4}NR>FNR{print $0,a[$1" "$2" "$4]/1000000}' a b

    当NR==FNR的时候,把数据存储在数组a[key]中,方便后面使用。

    3.NR和FNR的用法,用于处理多个文件

    PS:NR——指到目前为止的记录数;FNR——当前文件的记录数,一个新的文件则FNR重新从1开始计数。

    还是上面的例子,处理a和b两个文件,先从a取得数组a,再和b处理得到所需要的结果。

    4.awk的范围模板,匹配从第一个模板地N次出现和第二个模板地N次出现之间的所有行(N要对应)。

    例:

    5.awk命令内部的重定向

    awk 可使用shell的重定向符(">" or ">>")进行重定向输出。

    例:$ awk '$1 = 100 {print $1 > "output_file" }' test

    上式表示如果第一个域的值等于100,则把它输出到output_file中。也可以用>>来重定向输出,但不清空文件,只做追加操作。

    参考:http://blog.csdn.net/eroswang/article/details/5258216

  • 相关阅读:
    7.Mongodb安全性流程
    6.Mongodb索引
    5.Mongodb聚合
    8-进程管理
    7-安装包管理
    6-文件系统
    5-权限用户组
    27-ATM+购物车程序
    26.本章小结
    名词解释
  • 原文地址:https://www.cnblogs.com/aaronwxb/p/2150574.html
Copyright © 2011-2022 走看看