У меня есть вход, как это:выбора строк с повторяющимися столбцов по определенному значению
LineA parameter1 parameter2 56
LineB parameter1 parameter2 87
LineB parameter1 parameter2 56
LineB parameter1 parameter2 90
LineC parameter1 parameter2 40
Я хочу, чтобы напечатать каждую строку, но, если первый столбец ($1
) дублируется, только напечатать строку с наибольшее значение в последнем столбце ($4
).
Так что вывод должен выглядеть следующим образом:
LineA parameter1 parameter2 56
LineB parameter1 parameter2 90
LineC ...
+1, но вам нужно только проверить '$ 4> б [$ 1]} '- если '$ 1' еще не был замечен, то' b [$ 1] 'будет рассматриваться как ноль. Больше описательных имен переменных могут помочь. –
@ user2245731, обратите внимание, что порядок вывода не гарантированно совпадает с вводом: ассоциативные массивы awk не сохраняют порядок вставки. –
@glennjackman, очень полезно, как всегда. Спасибо, включен – iruvar