以下为待分析内容:
北京 | 少年 |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
微信扫描下方的二维码阅读本文
正文完