Duplikate in einer Datei entfernen

Duplikate in einer Datei entfernen

Ich habe die folgende Datei.txt

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

Wie kann ich Duplikate löschen, ohne die Reihenfolge zu ändern? und mit den Zeilenleerzeichen habe ich es probiert, sortaber ich ändere die Reihenfolge und uniqbekomme die Duplikate nicht.

erwartetes Ergebnis:

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

Antwort1

Angenommendass die Datei das Format haben soll

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

d. h. die letzte Zeile in der Beispieldatei sollte lauten

Mysteriosa                  Mysteriosa

dann sollte dies funktionieren, vorausgesetzt, es gibt eine abschließende neue Zeile \nnach dem letzten Eintrag

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

Antwort2

Befehl:

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

verwandte Informationen