Você pode usar sort
para fazer o trabalho:
sort -k2,2 -u
-k2,2
significa operar somente na segunda coluna, -u
significa exclusivo.
Eu tenho um conjunto de dados que é assim:
AAAAA 11111 Data1
AAAAA 11111 Data2
AAAAA 11111 Data3
AAAAA 11112 Data4
AAAAA 11112 Data5
AAAAA 11112 Data6
AAAAA 11112 Data7
AAAAA 11113 Data8
AAAAA 11114 Data9
E assim por diante. Eu quero filtrar de acordo com o segundo campo e, em seguida, executar um uniq para puxar apenas a primeira entrada. Neste caso, quero que a saída seja:
AAAAA 11111 Data1
AAAAA 11112 Data4
AAAAA 11113 Data8
AAAAA 11114 Data9
Isso parece ser bem fácil, mas o método está apenas me escapando. Alguma ajuda?
Há um idiota de awk para fazer isso:
awk '!seen[$2]++' file
imprima a linha apenas na primeira vez em que o valor na segunda coluna for visto
Você pode usar o comando abaixo para resolver
sort new.txt | rev | uniq -s 6 | rev
a saída do arquivo é a seguinte
Espero que isso ajude