wie doppelte Zeilen in einer Textdatei in Unix Bash zu löschen? [Duplikat]

7

Ich habe nur eine Datei.txt mit mehreren Zeilen, ich möchte doppelte Zeilen entfernen, ohne die Datei zu sortieren. Welchen Befehl kann ich in Unix Bash verwenden?

Beispiel für Datei.txt

%Vor%

Beispiel der Ausgabe:

%Vor%     
t28292 11.08.2013, 09:46
quelle

2 Antworten

34

Eine Möglichkeit mit awk :

%Vor%     
Steve 11.08.2013 12:27
quelle
14

Sie können Perl dafür verwenden:

%Vor%

Der Schalter -n bewirkt, dass Perl die Datei zeilenweise verarbeitet. Jede Zeile ( $_ ) wird als Schlüssel in einem Hash namens "seen" gespeichert, aber da ++ nach dem Zurückgeben des Wertes passiert, wird die Zeile beim ersten Mal gedruckt.

    
choroba 11.08.2013 09:48
quelle

Tags und Links