Apenas altere seu comando awk para a coluna que você deseja executar para remover linhas duplicadas com base em (no seu caso, terceira coluna):
awk '!seen[$3]++' filename
Este comando está dizendo awkquais linhas imprimir. A variável $3contém todo o conteúdo da coluna 3 e colchetes são acesso à matriz. Portanto, para cada terceira coluna de linha no nome do arquivo, o nó da matriz nomeado seené incrementado e a linha impressa se o conteúdo desse nó (coluna3) não foi ( !) definido anteriormente.
O awkcomando acima funcionará se suas colunas no arquivo de entrada forem delimitadas com spaceou Tabentre si, se as colunas forem delimitadas com outra coisa, você precisará dizer para ativar a -Fopção. Portanto, por exemplo, se todas as colunas delimitadas com vírgula ( ,) e quiser remover linhas com base na terceira coluna, use a -F','opção
awk -F',' '!seen[$3]++' filename
-uapenas removeria linhas duplicadas , não chaves duplicadas ... mas estou errado.