Wenn Sie ein Linux-Benutzer sind und Ihre Arbeit das Arbeiten mit und Bearbeiten von Textdateien und Zeichenfolgen umfasst, sollten Sie bereits mit dem uniq-Befehl vertraut sein, da er in diesem Bereich am häufigsten verwendet wird.
Für diejenigen, die mit dem Befehl uniq nicht vertraut sind, handelt es sich um ein Befehlszeilentool, mit dem wiederholte Zeichenfolgen oder Zeilen gemeldet oder weggelassen werden. Dies filtert im Wesentlichen benachbarte übereinstimmende Zeilen von INPUT (oder Standardeingabe) und schreibt in OUTPUT (oder Standardausgabe). Ohne Optionen werden übereinstimmende Zeilen mit dem ersten Vorkommen zusammengeführt.
Unten sind einige Anwendungsbeispiele des uniq-Befehls
1) Duplikate weglassen
Das Ausführen der uniq-Befehle ohne Angabe von Parametern lässt Duplikate einfach aus und zeigt eine eindeutige Zeichenfolgenausgabe an.
fluser@fvm:~/Documents/files$cat file1
Hello
Hello
How are you?
How are you?
Thank you
Thank you
fluser@fvm:~/Documents/files$ uniq file1
Hello
How are you?
Thank you
2) Anzahl der wiederholten Zeilen anzeigen
Mit dem Parameter -c ist es möglich, die Anzahl der doppelten Zeilen in einer Datei anzuzeigen
fluser@fvm:~/Documents/files$ cat file1
Hello
Hello
How are you?
How are you?
Thank you
Thank you
fluser@fvm:~/Documents/files$ uniq -c file1
2 Hello
2 How are you?
2 Thank you
3) Drucken Sie nur die Duplikate
Durch die Verwendung des Parameters -d können wir nur die Zeilen auswählen, die innerhalb einer Datei dupliziert wurden
fluser@fvm:~/Documents/files$ cat file1
Hello
Hello
Good morning
How are you?
How are you?
Thank you
Thank you
Bye
fluser@fvm:~/Documents/files$ uniq -d file1
Hello
How are you?
Thank you
4) Groß-/Kleinschreibung beim Vergleich ignorieren
Wenn Sie den uniq-Befehl verwenden, wird normalerweise die Groß- und Kleinschreibung berücksichtigt. Aber wenn Sie die Groß-/Kleinschreibung ignorieren möchten, können Sie -i parameter
verwendenfluser@fvm:~/Documents/files$ cat file1
Hello
hello
How are you?
How are you?
Thank you
thank you
fluser@fvm:~/Documents/files$ uniq file1
Hello
hello
How are you?
Thank you
thank you
fluser@fvm:~/Documents/files$ uniq -i file1
Hello
How are you?
Thank you
5) Nur eindeutige Zeilen drucken
Wenn Sie nur die eindeutigen Zeilen in einer Datei sehen möchten, können Sie den Parameter -u verwenden
fluser@fvm:~/Documents/files$ cat file1
Hello
Hello
Good morning
How are you?
How are you?
Thank you
Thank you
Bye
fluser@fvm:~/Documents/files$ uniq -u file1
Good morning
Bye
6) Sortiere und finde Duplikate
Manchmal können doppelte Einträge an verschiedenen Stellen einer Datei enthalten sein. Wenn wir in diesem Fall einfach den Befehl uniq verwenden, werden diese doppelten Einträge in verschiedenen Zeilen nicht erkannt. In diesem Fall müssen wir die Datei zuerst sortieren und können dann Duplikate finden
fluser@fvm:~/Documents/files$ cat file1
Adam
Sara
Frank
John
Ann
Matt
Harry
Ann
Frank
John
fluser@fvm:~/Documents/files$ sort file1 | uniq -c
1 Adam
2 Ann
2 Frank
1 Harry
2 John
1 Matt
1 Sara
7) Speichern Sie die Ausgabe in einer anderen Datei
Die Ausgabe unseres uniq-Befehls kann einfach in einer anderen Datei wie unten gespeichert werden
fluser@fvm:~/Documents/files$ cat file1
Hello
Hello
How are you?
Good morning
Good morning
Thank you
fluser@fvm:~/Documents/files$ uniq -u file1
How are you?
Thank you
fluser@fvm:~/Documents/files$ uniq -u file1 output
fluser@fvm:~/Documents/files$ cat output
How are you?
Thank you
8) Zeichen ignorieren
Um einige Zeichen am Anfang zu ignorieren, können Sie den Parameter -s verwenden, aber Sie müssen die Anzahl der zu ignorierenden Zeichen angeben
fluser@fvm:~/Documents/files$ cat file1
1apple
2apple
3pears
4banana
5banana
fluser@fvm:~/Documents/files$ uniq -s 1 file1
1apple
3pears
4banana
Wenn Sie Fragen oder Gedanken zu diesem Thema haben, verwenden Sie das Feedback-Formular
Lesen Sie auch:
- Verwendung des Linux-Tr-Befehls mit Beispielen
- Eine kurze Übersicht über 106 Linux-Befehle mit Beispielen