Se algum resultado servir, use sort
e peça uma saída única:
sort -ut: -k1,1 foo
As opções:
-
-k 1,1
usa apenas o primeiro campo para classificar -
-t:
use:
como separador de campos -
-u
remove duplicados da saída com base no campo de classificação
Da mesma forma, no awk:
awk -F: '!a[$1]++' foo
Em ambos os comandos, usando :
como o separador de campo, estamos apenas olhando para o primeiro campo.
Esse comando awk
(e, eu acho, o comando sort
também) imprimirá apenas o primeiro resultado.
Para obter o último resultado:
awk -F: '{a[$1] = $0} END {for (i in a) print a[i]}'
Aqui, usamos o primeiro campo como um índice na matriz a
e salvamos a linha inteira na matriz. Cada vez que um resultado duplicado é encontrado, ele sobrescreve a entrada anterior. E, no final, basta imprimir todas as linhas da matriz, que agora terão apenas os últimos resultados de cada sistema.