以下是使用awk获取行的最大/最小值的方法。
AWK - find min value of each row with arbitrary size
但是,我需要更进一步打印包含最大/最小值的字段。例如,行的最大值为100,位于$ 13,因此输出应为100和13.这是否超出awk?
答案 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