awk:获取最大值以及与值对应的字段

时间:2016-03-22 10:09:52

标签: bash awk

以下是使用awk获取行的最大/最小值的方法。

AWK - find min value of each row with arbitrary size

但是,我需要更进一步打印包含最大/最小值的字段。例如,行的最大值为100,位于$ 13,因此输出应为100和13.这是否超出awk?

1 个答案:

答案 0 :(得分:1)

你可以这样做:

awk '{max=$1;c=1;for(i=2;i<=NF;i++)if($i>max){c=i;max=$i} printf "max:%s, column:%s\n",max, c}'

例如:

kent$  echo "1 4 3 2 6 5 8"|awk '{max=$1;c=1;for(i=2;i<=NF;i++)if($i>max){c=i;max=$i} printf "max:%s, column:%s\n",max, c}' 
max:8, column:7