Linux中 awk命令输出一列多个类别中 每个类别中最大的项或者最小的项
001、 输出最大项
(base) [b20223040323@admin1 test]$ ls a.txt (base) [b20223040323@admin1 test]$ cat a.txt ## 测试数据 a 88 a 76 b 88 c 10 b 777 c 200 a 87 c 150 a 34 b 25 a 66 ## 输出第一列中每一类别中值最大的项 (base) [b20223040323@admin1 test]$ awk '{if (!($1 in ay)) {ay[$1] = $2}else{if($2 > ay[$1]){ay[$1] = $2}}}END {for (i in ay) {print i, ay[i]}}' a.txt a 88 b 777 c 200

002、输出最小项
[root@pc1 test1]# ls a.txt [root@pc1 test1]# cat a.txt ## 测试数据 a 88 a 76 b 88 c 10 b 777 c 200 a 87 c 150 a 34 b 25 a 66 ## 提取程序 [root@pc1 test1]# awk '{if(!($1 in ay)){ay[$1] = $2} else {if($2 < ay[$1]){ay[$1] = $2}}} END {for(i in ay) {print i, ay[i]}}' a.txt a 34 b 25 c 10

。

浙公网安备 33010602011771号