awk命令实现分组统计
测试数据
ABC a1
ABC a2
ABC a3
ABD c1
ABD c2
分组统计
abc a1,a2,a3 3
abd c1,c2
awk 命令
awk '{arr[$1]=arr[$1] ? arr[$1] "," $2 : $2; count[$1]++} END{for (i in arr) print tolower(i), arr[i], count[i]}' group_t01.txt
命令解析:
-
arr[$1]
:使用第一列作为键创建数组,存储第四列值的逗号连接形式 -
count[$1]++
:统计每个分组出现的次数 -
END
块遍历所有分组并输出结果