zoukankan      html  css  js  c++  java
  • Linux awk sort

    2018-05-31 15:56:38|25961|Cmd_Hero_GetFreeHeros_CS|2|481|0|14|22
    2018-05-31 15:56:38|25961|Cmd_Role_GetNotice_CS|2|41|0|15|2
    2018-05-31 15:56:38|25961|Cmd_IAP_GetList_CS|2|175|0|16|807
    2018-05-31 15:56:38|25961|Cmd_Ping_GetAllServerIp_CS|2|70|0|17|159
    2018-05-31 15:56:38|25961|Cmd_Skill_GetAllData_CS|2|51|0|18|8
    2018-05-31 15:56:38|25961|Cmd_Act_GetList_CS|2|4289|0|19|305342
    2018-05-31 15:56:38|25961|Cmd_Live_GetFocusList_CS|2|97|0|20|0
    2018-05-31 15:56:38|25961|Cmd_Role_GetClientInfo_CS|4|43|0|21|4
    2018-05-31 15:56:38|25961|Cmd_Role_GetClientInfo_CS|4|32|0|22|4
    2018-05-31 15:56:38|25961|Cmd_Role_GetClientInfo_CS|4|31|0|23|4
    2018-05-31 15:56:38|25961|Cmd_Role_GetClientInfo_CS|4|31|0|24|4
    2018-05-31 15:56:38|25961|Cmd_Role_GetClientInfo_CS|4|33|0|25|4
    2018-05-31 15:56:38|25961|Cmd_Role_GetClientInfo_CS|4|32|0|26|4
    2018-05-31 15:56:38|25961|Cmd_Role_GetClientInfo_CS|4|31|0|27|4
    2018-05-31 15:56:38|25961|Cmd_Role_GetClientInfo_CS|4|31|0|28|4
    2018-05-31 15:56:38|25961|Cmd_Role_SetNationality_CS|4|508|0|29|4
    2018-05-31 15:56:38|25961|Cmd_Battle_GetBattleData_CS|9|301|0|30|105

    awk -F"|" '{if($3 != "") a[$3]++} END {for(i in a) printf("%-8s %s ", a[i], i)}'|sort -r -n -k1

    上面是客户端协议log记录,假如要统计每条消息的量就可以使用awk命令

    -F "|" :将每条记录以‘|’字符分割

    if($3 != "" a[$3]++):动作第三列部位空,就以第三列为下标数组统计数量,感觉有点像map,有点诡异,awk会针对每一行执行这个动作

    END {for(i in a) printf("%-8s %s ", a[i], i)}:所有行执行完了会执行这个END,打印a数组中的所有value和key

    printf:print会自动换行,但可实现功能简单,printf不支持换行,得自己加 ,支持格式化输出

    |sort -r -n -k1:通过管道让sort排序,-r表示逆序 -n表示按照大小排序,默认是按照asscii码比较每个字符,-k1表示第一列排序

    http://awk.readthedocs.io/en/latest/chapter-one.html#id3

  • 相关阅读:
    1592:【例 1】国王
    状态压缩类动态规划笔记
    1300:鸡蛋的硬度
    1263:【例9.7】友好城市
    第四部分-并发编程案例分析4:高性能数据库连接池HikariCP
    容器基础3:容器镜像
    第四部分-并发编程案例分析3:高性能队列Disruptor
    容器基础2:隔离与限制
    第四部分-并发编程案例分析1:限流Guava RateLimiter
    容器基础1:进程
  • 原文地址:https://www.cnblogs.com/zzyoucan/p/9192737.html
Copyright © 2011-2022 走看看