Simplemente cambie su comando awk a la columna que desea realizar para eliminar las líneas duplicadas basadas en (en su caso, la tercera columna):
awk '!seen[$3]++' filename
Este comando está diciendo awkqué líneas imprimir. La variable $3contiene todo el contenido de la columna 3 y los corchetes son de acceso a la matriz. Por lo tanto, para cada tercera columna de línea en el nombre de archivo, el nodo de la matriz nombrada seense incrementa y la línea se imprime si el contenido de ese nodo (columna3) no se estableció ( !) previamente.
El awkcomando anterior funcionará si sus columnas en el archivo de entrada están delimitadas con ellas mismas spaceo Tabentre ellas, si las columnas están delimitadas con algo más, debe indicarle a awk con su -Fopción. Entonces, por ejemplo, si todas las columnas se delimitan con una coma ( ,) y desea eliminar líneas de base en la -F','opción de uso de la tercera columna .
awk -F',' '!seen[$3]++' filename
-usolo eliminaría las líneas duplicadas , no las claves duplicadas ... pero me equivoco.