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\n",
              items[item] * 100 / total, items[item], item); }
            printf("Total %d\n", total);
}‘

原文地址:https://www.cnblogs.com/z977690557/p/9179211.html

时间: 2024-10-01 12:03:57

awk数值统计脚本的相关文章

数值统计

Problem Description 统计给定的n个数中,负数.零和正数的个数. Input 输入数据有多组,每组占一行,每行的第一个数是整数n(n<100),表示需要统计的数值的个数,然后是n个实数:如果n=0,则表示输入结束,该行不做处理. Output 对于每组输入数据,输出一行a,b和c,分别表示给定的数据中负数.零和正数的个数. Sample Input 6 0 1 2 3 -1 0 5 1 2 3 4 0.5 0 Sample Output 1 2 3 0 0 5 code: #i

HDU 2008 数值统计

数值统计 Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others) Total Submission(s): 53462    Accepted Submission(s): 27366 Problem Description 统计给定的n个数中,负数.零和正数的个数. Input 输入数据有多组,每组占一行,每行的第一个数是整数n(n<100),表示需要统计的数值的个数,然后是n个实数

数值统计 AC 杭电

数值统计 Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others) Total Submission(s): 67315    Accepted Submission(s): 33826 Problem Description 统计给定的n个数中,负数.零和正数的个数. Input 输入数据有多组,每组占一行,每行的第一个数是整数n(n<100),表示需要统计的数值的个数,然后是n个实数

hdu2008 数值统计【C++】

数值统计 Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others)Total Submission(s): 128331    Accepted Submission(s): 61807 Problem Description 统计给定的n个数中,负数.零和正数的个数. Input 输入数据有多组,每组占一行,每行的第一个数是整数n(n<100),表示需要统计的数值的个数,然后是n个实数

python编写文件统计脚本

思路:用os模块中的一些函数(os.listdir().os.path.isdir().os.path.join().os.path.abspath()等) 实现功能:显示多级目录,以及自己要找的具体文件类型(例:以".py"结尾的文件),并读取每个文件的第一行(一般为注释说明,这样就能大致了解这个文件是干事什么的) 先编写二级目录文件统计脚本 代码如下: #文件统计 os.chdir("F:\\pythonstudy") for fp in os.listdir(

&ldquo;代码量统计脚本&rdquo;

概述 本文从一段统计C/C++程序脚本入手,记录shell脚本常用和重要的知识点. 代码量统计程序 文件名称,count_code_line.sh 123456789101112131415161718192021222324252627282930313233343536 #!/bin/bash # 统计代码行数 去除空格和注释# author: by wangxintang function count_dir(){ total1=0 for input in $* do count=`fi

快网CDN日志统计脚本

公司使用的快网的CDN,但是快网本身并不提供日志的分析统计,我这里还没有用elk,无奈只能先使用shell对日志进行分析统计,作为运维组对业务情况的一个大致的了解. 脚本是对前一天的CDNLOG进行解压缩分析,最后将结果按类输出到指定目录,再将这些结果打包扔回CDNLOG目录,因为CDNLOG目录是要上传云存储的,一并保存.其实还有一个动作,是将这些内容作为参数传给python脚本给一个监控系统,出图便于查看,这里没有贴上. 同样作为留底,不喜勿喷. #!/bin/bash function l

Nginx日志切割及常用统计脚本

1,编辑脚本 进入到/usr/local/nginx/logs日志目录下,新建一个脚本,添加下面内容.指定好日志目录路径,日志文件名称和pid的文件,最后kill -USR1信号用来告知应用程序重载配置文件 vim log.sh #!/bin/bash logs_path="/usr/local/nginx/logs/" mv ${logs_path}www_mrliangqi.log ${logs_path}www_mrliangqi$(date -d "yesterday

awk命令统计某程序的CPU总的利用率

有时候我们需要统计系统中某一个程序的CPU利用率来做监控,而这个程序可能有多个进程或者多个线程,我们可以先匹配到该程序的所有进程或者线程,然后计算所有线程或者进程的CPU利用率的和,从而算出该程序的CPU总的利用率. 下面我们以nginx程序为例. [email protected]:# ps aux | grep nginx |grep -v grep |awk '{sum+=$3;}END{print sum}' 0 如果要统计mysql所有进程的CPU利用率,则将nginx换成mysql即