🗒️awk根据key列相同值取value列最大最小值
2023-3-2
| 2023-4-10
0  |  0 分钟
type
status
date
slug
summary
tags
category
icon
password
  • 需求下面的文本根据第一列取最大值、最小值
[root@e1zone awk_vlookup]# cat c.txt ad123456 10 ad123456 1 ad123456 2 ad123456 6 ad123457 5 ad123457 8 ad123457 9
  • awk实现
  1. 取最大值
#awk数组a[$1]未声明时,a[$1]为空,即value=0 [root@e1zone awk_vlookup]# awk '{if(a[$1]<$NF)a[$1]=$NF}END{for(i in a)print i,a[i]}' c.txt ad123456 10 ad123457 9
  1. 取最小值
#数组的下标是第一次出现的话,第二个字段赋值给数组,然后比较 [root@e1zone awk_vlookup]# awk '!(a[$1]){a[$1]=$NF}{if(a[$1]>$NF)a[$1]=$NF}END{for(i in a)print i,a[i]}' c.txt ad123456 1 ad123457 5
 
技术
  • scripts
  • awk实现类VLOOKUP的功能(取交集)Prometheus pushgateway采集shell脚本获取的指标
    目录