博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
用shell统计表格数据
阅读量:6154 次
发布时间:2019-06-21

本文共 1248 字,大约阅读时间需要 4 分钟。

今天有个人问了这样一个问题,图片是原题,在这个题的基础上写了一个实现方法

首先日志存到a.txt文本里,如下

Zhangsan|lisi1|0|

Zhangsan|lisi2|10|
Zhangsan|lisi3|6|
Zhangsan|lisi4|0|
Zhangsan|lisi5|0|
Lisi|list1|0|
Lisi|list2|5|

 

代码如下:

#!/bin/shawk 'BEGIN{FS="|";};{print $1"`"$2"`"$3}' a.txt|sort -t \` -k 1,1|awk 'BEGIN{FS="`";curline="";name="";renshu=0;no_cishu=0;cishu=0};{    if(curline==""){        name=$1;        renshu=1;        no_cishu=1;        chengong=0;        cishu=$3;        curline="name:"name"`renshu:"renshu"`no_cishu:"no_cishu"`cishu:"cishu"`chengong:"chengong;    }else if(name==$1){        renshu++;        if($3==0){            no_cishu++;        }else{            chengong++;        }        #print chengong        cishu+=$3;    }else{        curline="name:"name"`renshu:"renshu"`no_cishu:"no_cishu"`cishu:"cishu"`chengong:"chengong;        print curline;        name=$1;        cishu=$3;        renshu=1;        no_cishu=1;        chengong=0;    }    };        END{
if(curline!=""){ curline="name:"name"`renshu:"renshu"`no_cishu:"no_cishu"`cishu:"cishu"`chengong:"chengong; print curline; }}'

 结果如下: 

name:Lisi`renshu:2`no_cishu:1`cishu:5`chengong:1name:Zhangsan`renshu:5`no_cishu:3`cishu:16`chengong:2

 

转载于:https://www.cnblogs.com/fierce/p/7655957.html

你可能感兴趣的文章
我理解的几种字符编码方式
查看>>
BZOJ-4706 B君的多边形 OEIS
查看>>
报错之解决方案1--找不到文件或文件夹
查看>>
spring容器加载完毕做一件事情(利用ContextRefreshedEvent事件)转
查看>>
OFFICE 2007 序列号
查看>>
07-JAVA继承与接口
查看>>
ubuntu15.10下sublime text3 无法输入中文解决办法
查看>>
LR web_custom_request
查看>>
MySQL-DDL语言
查看>>
Java-笔记10-复习
查看>>
5月10团队博客
查看>>
意见汇总
查看>>
phpcmsv9 幻灯片管理模块_UTF8
查看>>
(转)mysql分表的3种方法
查看>>
对Java单继承的弥补——接口
查看>>
洗礼灵魂,修炼python(15)--列表进阶话题—>列表解析/列表生成器
查看>>
MySQL中优化sql语句查询常用的30种方法
查看>>
.NET CORE实践(1)--Ubuntu下的Hello World
查看>>
1755: [Usaco2005 qua]Bank Interest
查看>>
hive升级注意事项
查看>>