С gnu datamash
:
datamash -t, -s -f -g 3 max 5
, но обратите внимание, что вам нужно удалить все конечные пробелы из каждой строки ввода перед его запуском .
Только с awk
, с использованием двух массивов:
awk -F, '!z[$3]{x[$3]=$0;z[$3]=$5;next}$5>z[$3]{x[$3]=$0}
END{for (i in z){print x[i]}}' infile