Содержимое файла выглядит следующим образом:
333379266 834640619 88
333379280 834640621 99
333379280 834640621 66
333376672 857526666 99
333376672 857526666 78
333376672 857526666 62
Первые два столбца могут дублироваться, и я хочу вывести первые два столбца и соответствующее максимальное значение третьего столбца. В этом случае Файл результата должен выглядеть следующим образом:
333379266 834640619 88
333379280 834640621 99
333376672 857526666 99
Моя попытка:
awk '{d[$1" "$2]=$3;if ($3>=d[$1" "$2]){num[$1" "$2]=$3} else{num[$1" "$2]=d[$1" "$2]} }END{for(i in num) print i,num[i]}'
Но это не работает, потому что $3>=d[$1" "$2]
всегда верно, значение num всегда $3
, и awk
читает файл построчно, поэтому значение num
всегда является последним, а не максимальным.
Я буду признателен, если кто-нибудь может дать мне решение. Спасибо заранее.