2017-05-02 10 views
0

Ich habe eine Datei TXT. Ich möchte alle doppelten Zeilen entfernen.Linux: entfernen Sie doppelte Zeile

habe ich versucht, diese, aber nicht

sort -ur file.txt 

oder

uniq -D -f 2 file.txt 

datei.txt

34.78.54.21 websrv1 nameweb 
34.78.54.21 nameweb 

Ich brauche nur eine Zeile

+2

Diese Datei enthält keine doppelten Zeilen. Was brauchst du genau? –

+2

fügen Sie bitte die erwartete Ausgabe hinzu und erklären Sie, auf welcher Basis das Duplikat definiert ist ... das Hinzufügen von weiteren Eingabefällen würde auch helfen – Sundeep

+0

@Sundeep Ich muss die IP-Adresse sortieren –

Antwort

1

Von Ihrem Eingang Ich habe Arbeit Angenommen, Sie beziehen sich auf t o das erste Feld (34.78.54.21) als Duplikat. Wenn Sie nur das erste Vorkommen von jeder Zahl halten wollen, dann funktioniert dies für Sie:

awk '!a[$1]++' file.txt 

Ausgang:

34.78.54.21 websrv1 nameweb 

Dieser Befehl sieht, wenn $ 1 nicht als Schlüssel im Array ist. Wenn dies nicht der Fall ist, wird es dem Array hinzugefügt und der Standarddruck wird ausgeführt. Für die nächste Zeile ist $ 1 im Array und das Ganze wird als falsch ausgewertet und nicht gedruckt.

Verwandte Themen