Buscando un awk (o sed) de una línea para eliminar las líneas de la salida si el primer campo es un duplicado.Eliminar línea si el campo está duplicado
Un ejemplo para la eliminación de líneas duplicadas que he visto es:
awk 'a !~ $0; {a=$0}'
intentado utilizar para una base sin suerte (pensé cambiando los $ 0 de $ 1 de que hacer el truco, pero no pareció funcionar).
Se pedirá que se quite las líneas 'si los primeros partidos de campo' ... ¿qué? He asumido 'el mismo valor que el primer campo en alguna línea de entrada anterior'; otra persona asumió 'algún patrón particular'. ¿Qué pretendías? –
Su versión modificada 'awk 'a! ~ $ 1; {a = $ 1} '' * funciona para mí * para duplicados adyacentes (por ejemplo, un archivo ordenado). ** La versión ** de Jonathan Leffler tiene la ventaja de que funcionará para eliminar duplicados en un archivo sin clasificar, pero a costa de crear una matriz potencialmente grande. –
Creo que mi problema principal era que estaba tratando con diferentes tipos de separadores de campo y no estaba definiendo FS correctamente – Kyle