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\n", a[i], i)}'|sort -r -n -k1

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

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

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

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

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

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

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

Linux awk sort的更多相关文章

  1. linux awk,sort,uniq,wc,cut命令详解

    1.awk awk是行处理器: 相比较屏幕处理的优点,在处理庞大文件时不会出现内存溢出或是处理缓慢的问题,通常用来格式化文本信息 $ 表示当前行 $ 表示第一列 NF 表示一共有多少列 $NF 表示最 ...

  2. Linux的sort命令

     Linux的sort命令 Linux的sort命令就是一种对文件排序的工具,sort命令的功能十分强大,是Shell脚本编程时常使用的文件排序工具. sort命令将输入文件看做由多条记录组成的数据流 ...

  3. linux awk命令详解

    linux awk命令详解 简介 awk是一个强大的文本分析工具,相对于grep的查找,sed的编辑,awk在其对数据分析并生成报告时,显得尤为强大.简单来说awk就是把文件逐行的读入,以空格为默认分 ...

  4. Linux echo, sort, sed 等一些命令总结

    linux echo, sort, sed是初学linux shell script 的一些常用的命令.基本上来说,如果能够掌握了这些命令,我们就能写出一些不错的linux脚本.以下是我遇到的以下常用 ...

  5. (转) linux之sort用法

    sort命令是帮我们依据不同的数据类型进行排序,其语法及常用参数格式: sort [-bcfMnrtk][源文件][-o 输出文件] 补充说明:sort可针对文本文件的内容,以行为单位来排序. 参 数 ...

  6. linux awk 中 RS,ORS,FS,OFS 区别与联系【转】

    linux awk 中 RS,ORS,FS,OFS 区别与联系 http://blog.csdn.net/jesseen/article/details/7992929

  7. 线上问题debug过程(cat,grep,tr,awk,sort,uniq,comm等工具的综合使用)

    问题:发现线上到货单的数量,小于实际到货的数量. 怀疑一些隐藏的条件,将部分唯一码进行了过滤,导致数量变少. 开展了如下的跟踪流程: 1.找到其中一个明细的唯一码 grep 6180e-4b09f p ...

  8. linux下sort命令使用详解---linux将文本文件内容加以排序命令

    转载自:http://www.cnblogs.com/hitwtx/archive/2011/12/03/2274592.html linux下sort命令使用详解---linux将文本文件内容加以排 ...

  9. Linux awk命令常见使用方法介绍

    Linux awk命令常见使用方法介绍 By:授客 QQ:1033553122   awk运行方式有三种,其中常用的为命令行方式 awk [-F  field_separator]  '{patter ...

随机推荐

  1. HTML自学笔记

    HTML自学笔记 1.HTML Hyper Text Markup Language 超文本标记语言 超文本:比普通文本更加强大,可以添加各种样式 标记语言:通过一组标签来对内容进行描述. 标签:&l ...

  2. django之setting配置汇总

    前面的随笔中我们经常会改setting配置也经常将一些配置混淆今天主要是将一些常见的配置做一个汇总. setting配置汇总 1.app路径 INSTALLED_APPS = [ 'django.co ...

  3. Win server 2012 +IIS8.0下安装SSL证书

    SSL证书的申请: 成功在景安申请证书后,会得到一个有密码的压缩包文件,输入证书密码后解压得到五个文件:for Apache.for IIS.for Ngnix.for Other Server,这个 ...

  4. 推荐系统算法学习(一)——协同过滤(CF) MF FM FFM

    https://blog.csdn.net/qq_23269761/article/details/81355383 1.协同过滤(CF)[基于内存的协同过滤] 优点:简单,可解释 缺点:在稀疏情况下 ...

  5. 如何对正在运行的进程,进行heap profile

    简单来说, 就是先preload上tcmalloc, 日常用用没啥问题, 当感觉出现问题时, gdb attach 上, 然后执行 call HeapProfilerStart("xxx&q ...

  6. IOS开发中xib和StoryBoard的优缺点

    总所周知,苹果官方为IOS开发提供了3种制作UI方式,让我们能够快速开发漂亮APP界面,每一种方式都有他们各自的特点,谁也不能代替谁.但是国内开发人员为此时争得不可开交. 大家各说各有理,说都想说服谁 ...

  7. Python-MacOSX下SIP引起的pip权限问题解决方案(非取消SIP机制)

    网上很多资料都是取消SIP机制,安装完再恢复.可是基于用户的权限来安装模块包显得更加合理. 第一种:(推荐)pip install module --user -U http://www.jiansh ...

  8. C# WebAPI学习

    WebApi是微软在VS2012 MVC4版本中绑定发行的,WebApi是完全基于Restful标准的框架.RestFul: (英文:Representational State Transfer,简 ...

  9. 【Python】 解析Python中的运算符

    Python中的运算符相比较于传统的C/C++差别不是很大,主要是一些个别的运算符上的差别.包括:算术.比较.赋值.位.逻辑.成员.身份等.它们的优先级: 符号 说明 ** 指数(最高优先级) ~,+ ...

  10. 【C++】C++中typedef、auto与decltype的作用

    typedef 类型别名(type alias)是一个名字,使用typedef不会真正地创建一种新的数据类型,它只是已经存在数据类型的一个新名称.语法: typedef type name; 其中ty ...