Eliminar duplicados en un archivo

Eliminar duplicados en un archivo

Tengo el siguiente archivo.txt

Plummet
Cherist the day
--
The Transatlatins                <-----------duplicate
Mysteriosa                       <-----------duplicate
--
Angel City;Lara McAllen
Love me right                  
--
The Transatlatins
Mysteriosa                     

¿Cómo puedo eliminar duplicados sin cambiar el orden? y los espacios de linea, lo he probado sortpero cambio el orden y uniqno me saca los duplicados.

Resultado Esperado:

Plummet
Cherist the day
--
Angel City;Lara McAllen
Love me right               
--
The Transatlatins
Mysteriosa                 

Respuesta1

Asumiendoque el archivo debe tener el formato

field1\n
field2\n
\n
field1\n
field2\n
\n

es decir, la última línea del archivo de muestra debería decir

Mysteriosa                  Mysteriosa

entonces esto debería funcionar, siempre que haya una nueva línea \nal final de la última entrada

sed '$!N;$!N;s/\n/:/g' file | nl -s"|" | sort -t '|' -k2 | awk -F"|" '!_[$2]++' | sort -n | sed -e 's/.*|//' -e 's/:/\n/g'

Respuesta2

Dominio:

awk '{if (!seen[$1,$2]++)print $0}' filename

información relacionada