Basta alterar seu comando awk para a coluna que deseja executar para remover linhas duplicadas com base em (na sua terceira coluna):
awk '!seen[$3]++' filename
Este comando informa awk
de quais linhas imprimir. A variável $3
contém todo o conteúdo da coluna 3 e os colchetes são o acesso à matriz. Portanto, para cada terceira coluna da linha no nome do arquivo, o nó da matriz denominada seen
é incrementado e a linha impressa se o conteúdo desse nó (coluna3) não foi ( !
) definido anteriormente.
Acima o comando awk
funcionará se suas colunas no arquivo de entrada estiverem delimitadas com space
ou Tab
entre elas, se as colunas forem delimitadas por outra coisa, você precisará informar ao awk com sua opção -F
. Portanto, por exemplo, se todas as colunas delimitadas com vírgula ( ,
) e quiser remover linhas base na terceira coluna, use a opção -F','
.
awk -F',' '!seen[$3]++' filename