awk数值统计脚本

Posted z977690557

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了awk数值统计脚本相关的知识,希望对你有一定的参考价值。

  通信公司工作,经常处理各种协议接口,在统计协议接口字段内容时,需要统计字段填写的内容是否正确,和占比是多少。要是单次统计,估计会把人累死,写个脚本统计,轻松便捷。  

  举例:接口内容

  这是一条话单,这样的话单有很多条

  24|eb8f7837000039|||8613522222222|||2016092817|2016092817|7|1|10.82.58.2|4010|10.82.99.10|3868|2001

  统计结果举例:

  截取第10和11字段

--------- [ 10 ] ---------
Total 80816
35.66% 28817         1
6.09% 4924             2
18.37% 14843         3
39.87% 32221         4
 
--------- [ 11 ] ---------
Total 80816?

96.21% 77756       1?

0.15% 125     2?

3.63% 2935           3

#!/bin/bash
awk -F, ‘BEGIN

#这里-F, 需要注意,假如这里不用脚本,直接awk统计的话,需要使用awk两次,首次awk统计出结果,然后再用这个awk对同一数值归类。这时,-F, 是可以不写的,但是在写的时候,这里的“,” 是不能少的,不然报错。

{  total = 0;  }
{
        items[$0]++;
            total++;
}

END {
        for (item in items){
              printf("%6.2f%% %-10d %s ",
              items[item] * 100 / total, items[item], item); }
            printf("Total %d ", total);
}‘





















以上是关于awk数值统计脚本的主要内容,如果未能解决你的问题,请参考以下文章

百分位(P95,P99)统计awk脚本

百分位(P95,P99)统计awk脚本

awk, uniq, sort统计日志信息

awk数组结合+=统计题

如何让GREP只选择数值?

日志统计中awk常见的运用