Heim > System-Tutorial > LINUX > Hauptteil

Beispiel für einen Linux-Uniq-Befehl

WBOY
Freigeben: 2024-07-18 16:17:06
Original
540 Leute haben es durchsucht

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
Nach dem Login kopieren

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).

1. Verwenden Sie den Befehl uniq, um aufeinanderfolgende doppelte Zeilen in der Datei zu löschen

Wenn Sie den Befehl uniq ohne Argumente verwenden, werden alle aufeinanderfolgenden doppelten Zeilen entfernt und nur eindeutige Zeilen angezeigt.

uniq ostechnix.txt
Nach dem Login kopieren

Beispielausgabe:

Linux之uniq 命令示例

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.

2. Löschen Sie alle doppelten Zeilen
sort ostechnix.txt | uniq
Nach dem Login kopieren

Beispielausgabe:

Linux之uniq 命令示例

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.

3. Nur die einzige Zeile in der Datei anzeigen

Um nur die einzige Zeile in der Datei anzuzeigen, können Sie Folgendes tun:

sort ostechnix.txt | uniq -u
Nach dem Login kopieren

Beispielausgabe:

Linux is secure by default
Top 500 super computers are powered by Linux
Nach dem Login kopieren

Wie Sie sehen können, sind in der angegebenen Datei nur zwei Zeilen eindeutig.

4. Nur doppelte Zeilen anzeigen

Ähnlich können wir auch wiederholte Zeilen in der Datei anzeigen, etwa so:

sort ostechnix.txt | uniq -d
Nach dem Login kopieren

Beispielausgabe:

Linus is the creator of Linux.
welcome to ostechnix
Nach dem Login kopieren

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
Nach dem Login kopieren

Sehen Sie den Unterschied zwischen den beiden Optionen im Screenshot unten:

Linux之uniq 命令示例

5. Zeigt die Anzahl der Vorkommen jeder Zeile in der Datei an

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
Nach dem Login kopieren

Beispielausgabe:

Linus is the creator of Linux.
 Linux is secure by default
 Top 500 super computers are powered by Linux
 welcome to ostechnix
Nach dem Login kopieren

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
Nach dem Login kopieren

Beispielausgabe:

welcome to ostechnix
 Linus is the creator of Linux.
 Top 500 super computers are powered by Linux
 Linux is secure by default
Nach dem Login kopieren
6. Vergleich auf N Zeichen beschränken

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
Nach dem Login kopieren
7. Ignorieren Sie die durch den Vergleich angegebenen N Zeichen

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
Nach dem Login kopieren

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
Nach dem Login kopieren

Sie können auch den man-Befehl verwenden, um Folgendes anzuzeigen:

man uniq
Nach dem Login kopieren

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!

Quelle:linuxprobe.com
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage
Über uns Haftungsausschluss Sitemap
Chinesische PHP-Website:Online-PHP-Schulung für das Gemeinwohl,Helfen Sie PHP-Lernenden, sich schnell weiterzuentwickeln!