linux 中根据列的不同类别输出指定列的最小值、最大值以及平均值

 

001、最大值和最小值

复制代码
[root@PC1 test03]# ls
a.txt
[root@PC1 test03]# cat a.txt          ## 测试数据
a       6
a       9
a       7
b       5
b       10
b       5
b       9
c       5
c       3
c       4
c       1                              ## 根据第一列输出最大值
[root@PC1 test03]# awk '{if(ay[$1] == "") {ay[$1] = $2}; if(ay[$1] < $2) {ay[$1] = $2}} END {for(i in ay) {print i, ay[i]}}' a.txt
a 9
b 10
c 5                                    ## 根据第一列输出最小值
[root@PC1 test03]# awk '{if(ay[$1] == "") {ay[$1] = $2}; if(ay[$1] > $2) {ay[$1] = $2}} END {for(i in ay) {print i, ay[i]}}' a.txt
a 6
b 5
c 1
复制代码

 

 

002、输出平均值

复制代码
[root@PC1 test03]# ls
a.txt
[root@PC1 test03]# cat a.txt         ## 测试数据
a       6
a       9
a       7
b       5
b       10
b       5
b       9
c       5
c       3
c       4
c       1                            ## 按照第一列输出平均值
[root@PC1 test03]# awk '{ay1[$1] += $2; ay2[$1] += 1} END {for(i in ay2) {print i, ay1[i]/ay2[i]}}' a.txt
a 7.33333
b 7.25
c 3.25
复制代码

 

posted @   小鲨鱼2018  阅读(203)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 单线程的Redis速度为什么快?
· SQL Server 2025 AI相关能力初探
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 展开说说关于C#中ORM框架的用法!
历史上的今天:
2022-07-05 计算机没有声音,无法找到输出设备
2022-07-05 显示器指标
2021-07-05 linux系统中find命令
2021-07-05 linux系统中export命令
2021-07-05 linux系统中批量对一类文件重命名
2021-07-05 linux系统中修改别名配置文件,构建命令别名
2021-07-05 linux系统中tr命令
点击右上角即可分享
微信分享提示