linux通过awk命令实现分组统计(计数、求和)实现group by功能

本文介绍了如何利用awk命令对数据进行分组统计,包括根据特定列进行分组计数、分组求和以及根据条件进行分组统计。通过实例展示了如何分析地区、年龄段与去过城市个数的关系,为数据处理提供了一种实用方法。


举例:
以下为待分析内容:

北京|少年|23
河北|少年|15
北京|青年|35
上海|少年|6
北京|中年|19
上海|青年|28

三列分别为地区、年龄段、去过城市个数

一、根据某列进行分组计数

根据地区统计人数

cat test.txt|awk -F '|' '{x[$1]++;} END{for(i in x) print(i ":" x[i])}'

结果如下:

上海:2
河北:1
北京:3

二、根据某列对另一列进行分组求和

根据年龄段统计去过城市个数

 cat test.txt|awk -F '|' '{x[$2]+=$3;} END{for(i in x) print(i ":" x[i])}'

结果如下:

青年:63
中年:19
少年:44

三、根据限定条件进行分组计数或求和

统计北京地区的不同年龄段去过的城市个数

cat test.txt|awk -F '|' '{if($1=="北京") {x[$2]+=$3;}} END{for(i in x) print(i ":" x[i])}'

结果如下

青年:35
中年:19
少年:23
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值