awk como eu poderia imprimir apenas o maior valor por registro?

0

Eu tenho uma entrada como essa; Eu preciso filtrar o maior valor de registro

cat;5
dog;3
bird;2
cat;3
dog;6
bird;8

para produzir um resultado como este

cat;5
dog;6
bird;8

    
por Alejandro Diego 15.03.2017 / 16:09

1 resposta

1

Por favor, tente o seguinte:

#!/usr/bin/awk -f

BEGIN {
  FS = OFS = ";";
}

{
  if($2 > a[$1]) { a[$1] = $2 }
  else { a[$1] = $2 }
}

END {
  for(x in a) { print x, a[x] }
}
    
por 15.03.2017 / 16:19

Tags