Beachten Sie, dass Uniq keine doppelten Zeilen entfernt, es sei denn, sie liegen nebeneinander. Daher müssen Sie sie möglicherweise zuerst sortieren oder den Sortierbefehl mit uniq kombinieren, um die Ergebnisse zu erhalten. Lassen Sie mich Ihnen einige Beispiele zeigen.
Erstellen wir zunächst eine Datei mit einigen sich wiederholenden Zeilen:
vi ostechnix.txt welcome to ostechnix welcome to ostechnix Linus is the creator of Linux. Linux is secure by default Linus is the creator of Linux. Top 500 super computers are powered by Linux
Wie Sie in der Datei oben sehen können, haben wir einige doppelte Zeilen (die erste und zweite Zeile, die dritte und fünfte Zeile sind Duplikate).
Wenn Sie den Befehl uniq ohne Argumente verwenden, werden alle aufeinanderfolgenden doppelten Zeilen entfernt und nur eindeutige Zeilen angezeigt.
uniq ostechnix.txt
Beispielausgabe:
Wie Sie sehen können, entfernt der Befehl uniq alle aufeinanderfolgenden doppelten Zeilen in der angegebenen Datei. Möglicherweise stellen Sie auch fest, dass in der obigen Ausgabe die zweite und vierte Zeile immer noch wiederholt werden. Dies liegt daran, dass der Befehl uniq nur doppelte Zeilen löscht, wenn sie benachbart sind. Natürlich können wir auch nicht aufeinanderfolgende doppelte Zeilen löschen. Siehe das zweite Beispiel unten.
sort ostechnix.txt | uniq
Beispielausgabe:
Hast du es gesehen? Es gibt keine doppelten Zeilen. Mit anderen Worten: Der obige Befehl zeigt Zeilen an, die nur einmal in ostechnix.txt vorkommen. Wir verwenden den Sortierbefehl in Verbindung mit dem Befehl uniq, da uniq, wie bereits erwähnt, doppelte Zeilen nur dann entfernt, wenn sie benachbart sind.
Um nur die einzige Zeile in der Datei anzuzeigen, können Sie Folgendes tun:
sort ostechnix.txt | uniq -u
Beispielausgabe:
Linux is secure by default Top 500 super computers are powered by Linux
Wie Sie sehen können, sind in der angegebenen Datei nur zwei Zeilen eindeutig.
Ähnlich können wir auch wiederholte Zeilen in der Datei anzeigen, etwa so:
sort ostechnix.txt | uniq -d
Beispielausgabe:
Linus is the creator of Linux. welcome to ostechnix
Diese beiden Zeilen sind doppelte Zeilen in der Datei ostechnix.txt. Beachten Sie, dass -d (Kleinbuchstabe d) nur doppelte Zeilen druckt, eine pro Gruppe. Um alle doppelten Zeilen zu drucken, verwenden Sie -D (Großbuchstaben D) wie folgt:
sort ostechnix.txt | uniq -D
Sehen Sie den Unterschied zwischen den beiden Optionen im Screenshot unten:
Aus irgendeinem Grund möchten Sie möglicherweise überprüfen, wie oft jede Zeile in einer bestimmten Datei wiederholt wird. Verwenden Sie dazu die Option -c wie unten gezeigt:
sort ostechnix.txt | uniq -c
Beispielausgabe:
Linus is the creator of Linux. Linux is secure by default Top 500 super computers are powered by Linux welcome to ostechnix
Wir können auch nach der Anzahl des Vorkommens jeder Zeile sortieren und sie dann anzeigen, wie unten gezeigt:
sort ostechnix.txt | uniq -c | sort -nr
Beispielausgabe:
welcome to ostechnix Linus is the creator of Linux. Top 500 super computers are powered by Linux Linux is secure by default
Wir können die Option -w verwenden, um den Vergleich auf eine bestimmte Anzahl von Zeichen in der Datei zu beschränken. Vergleichen wir zum Beispiel die ersten vier Zeichen in der Datei und zeigen die doppelten Zeilen wie folgt an:
uniq -d -w 4 ostechnix.txt
So wie wir den Vergleich auf die ersten N Zeichen der Zeile in der Datei beschränken, können wir auch die Option -s verwenden, um den Vergleich der ersten N Zeichen zu ignorieren.
Der folgende Befehl ignoriert die ersten vier Zeichen jeder Zeile in der Datei zum Vergleich:
uniq -d -s 4 ostechnix.txt
Um den Vergleich der ersten N Felder (LCTT-Anmerkung: die ersten paar Spalten) anstelle von Zeichen zu ignorieren, verwenden Sie die Option -f im obigen Befehl.
Weitere Informationen finden Sie im Hilfebereich:
uniq --help
Sie können auch den man-Befehl verwenden, um Folgendes anzuzeigen:
man uniq
Das war's für heute! Ich hoffe, Sie haben jetzt ein grundlegendes Verständnis des uniq-Befehls und seines Zwecks. Wenn Sie unseren Leitfaden nützlich fanden, teilen Sie ihn bitte in Ihren sozialen Netzwerken und unterstützen Sie uns weiterhin. Es kommen noch mehr Leckereien, also bleiben Sie dran!
Prost!
Das obige ist der detaillierte Inhalt vonBeispiel für einen Linux-Uniq-Befehl. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!