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

  举例:接口内容

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

  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);
}'

awk小例子_2_数值统计脚本的更多相关文章

  1. awk小例子_1_逆序排列

    seq 3 | awk '{ lifo[NR]=$0 } END{ for(lno=NR;lno>-1;lno--){ print lifo[lno]; } }' 结果:3 2 1 空行(lno ...

  2. 使用Trinity拼接以及分析差异表达一个小例子

    使用Trinity拼接以及分析差异表达一个小例子  2017-06-12 09:42:47     293     0     0 Trinity 将测序数据分为许多独立的de Brujin grap ...

  3. php+jquery+ajax+json简单小例子

    直接贴代码: <html> <title>php+jquery+ajax+json简单小例子</title> <?php header("Conte ...

  4. 网站每日PV/IP统计/总带宽/URL统计脚本分享(依据网站访问日志)

    在平时的运维工作中,我们运维人员需要清楚自己网站每天的总访问量.总带宽.ip统计和url统计等.虽然网站已经在服务商那里做了CDN加速,所以网站流量压力都在前方CDN层了像每日PV,带宽,ip统计等数 ...

  5. ASP.NET Cookie对象到底是毛啊?(简单小例子)

    记得刚接触asp.net的时候,就被几个概念搞的头痛不已,比如Request,Response,Session和Cookie.然后还各种在搜索引擎搜,各种问同事的,但是结果就是自己还是很懵的节奏. 那 ...

  6. 五个小例子教你搞懂 JavaScript 作用域问题

    众所周知,JavaScript 的作用域和其他传统语言(类C)差别比较大,掌握并熟练运用JavaScript 的作用域知识,不仅有利于我们阅读理解别人的代码,也有助于我们编写自己的可靠代码. 下面笔者 ...

  7. Selenium WebDriver + Grid2 + RSpec之旅(三) ----入门小例子

    Selenium WebDriver + Grid2 + RSpec之旅(三) ----入门小例子 第一个例子都是比较简单的博客园登录界面,就像学习编程语言时候都是从Hello,World!开始. 1 ...

  8. 从一个小例子认识SQL游标

    1    什么是游标: 关系数据库中的操作会对整个行集起作用. 例如,由 SELECT 语句返回的行集包括满足该语句的 WHERE 子句中条件的所有行. 这种由语句返回的完整行集称为结果集. 应用程序 ...

  9. Vue2.x源码学习笔记-从一个小例子查看vm实例生命周期

    学习任何一门框架,都不可能一股脑儿的从入口代码从上到下,把代码看完, 这样其实是很枯燥的,我想也很少有人这么干,或者这么干着干着可能干不下去了. 因为肯定很无聊. 我们先从一个最最简单的小例子,来查看 ...

随机推荐

  1. md

    > 引用# 一级标题## 二级标题,总共六级标题 - ul + li + li 1. 1232. 456 [链接](http://www.baidu.com) ![图片](http://plac ...

  2. WebDriver Selenium eclipse环境搭建

    jdk环境 首先就是下载安装包,然后安装 然后设置环境变量,主要就是Path和CLASSPATH 由于我path已经有一个java值了,所以刚开始一直都失败 全部弄好,用cmd,java -versi ...

  3. Linux命令学习总结之rmdir命令的相关资料可以参考下

    这篇文章主要介绍了Linux命令学习总结之rmdir命令的相关资料,需要的朋友可以参考下(http://www.nanke0834.com) 命令简介: rmdir命令用用来删除空目录,如果目录非空, ...

  4. 关于Selenium3+python3.6自动化测试中iframe切换

    本篇内容主要表述以下几个问题: 1.iframe 这个是什么? 2.定位iframe 标签时遇到的几个报错总结. 3.显示等待与隐示等待的原理与优缺点. 4.无name,ID可变情况下的处理方式 5. ...

  5. Python 判断文件后缀

    方法1, str的endswith方法: ims_path='data/market1501/Market-1501-v15.09.15/bounding_box_test/12312.jpg' im ...

  6. Qwt 编译 配置 使用

    QWT,全称是Qt Widgets for Technical Applications,是一个基于LGPL版权协议的开源项目,可生成各种统计图.它为具有技术专业背景的程序提供GUI组件和一组实用类, ...

  7. BUAA面向对象设计与构造——第一单元总结

    BUAA面向对象设计与构造——第一单元总结 第一阶段:只支持一元多项式的表达式求导 1. 程序结构 由于是第一次接触面向对象的编程,加之题目要求不算复杂,我在第一次作业中并没有很好利用面向对象的特点, ...

  8. MySQL 栏位修改为区分大小写

    ) BINARY CHARACTER SET utf8 COLLATE utf8_bin DEFAULT NULL; ) BINARY CHARACTER SET utf8 COLLATE utf8_ ...

  9. fidderl 录制导出 jmeter格式文件

    总共需要五步 1.下载扩展脚本 2.将下载后的文件剪切到 fiddler 安装目录下 3.重新启动fillder 4.设置筛选条件 5.录制完成后导出文件 1.下载扩展脚本 首先需要下载支持jmete ...

  10. 1.3 正则表达式和python语言-1.3.7 匹配任何单个字符

    1.3.7 匹配任何单个字符 (2018-05-08) 点号(.)不能匹配一个换行符\n 或者非字符,也就是说,一个空字符串 搜索一个真正的句点(小数点), 而我们通过使用一个反斜线对句点的功能进行转 ...