GNU/Linux >> LINUX-Kenntnisse >  >> Linux

7 Beispiele für Uniq-Befehle unter Linux zum Entfernen doppelter Zeilen aus einer Datei

Der Uniq-Befehl ist hilfreich, um doppelte Einträge in einer Datei zu entfernen oder zu erkennen. Dieses Tutorial erklärt einige der am häufigsten verwendeten uniq-Befehlszeilenoptionen, die Sie möglicherweise hilfreich finden.

Die folgende Testdatei wird in einigen Beispielen verwendet, um zu verstehen, wie der uniq-Befehl funktioniert.

$ cat test
aa
aa
bb
bb
bb
xx

1. Grundlegende Verwendung

Syntax:

$ uniq [-options]

Wenn beispielsweise der Befehl uniq ohne Option ausgeführt wird, entfernt er doppelte Zeilen und zeigt eindeutige Zeilen an, wie unten gezeigt.

$ uniq test
aa
bb
xx

2. Zählen Sie die Anzahl der Vorkommen mit der Option -c

Diese Option zählt das Auftreten von Zeilen in der Datei.

$ uniq -c test
      2 aa
      3 bb
      1 xx

3. Nur doppelte Zeilen mit der Option -d drucken

Diese Option dient dazu, nur doppelte wiederholte Zeilen in der Datei zu drucken. Wie Sie unten sehen, wurde die Zeile „xx“ nicht angezeigt, da sie in der Testdatei nicht doppelt vorhanden ist.

$ uniq -d test
aa
bb

Das obige Beispiel zeigte alle doppelten Zeilen, aber nur einmal. Diese Option -D druckt jedoch alle doppelten Zeilen in der Datei. Beispielsweise war die Zeile „aa“ zweimal in der Testdatei vorhanden, sodass der folgende uniq-Befehl die Zeile „aa“ zweimal in dieser Ausgabe anzeigte.

$ uniq -D test
aa
aa
bb
bb
bb

4. Nur eindeutige Zeilen mit der Option -u drucken

Mit dieser Option werden nur eindeutige Zeilen in der Datei gedruckt.

$ uniq -u test
xx

Wenn Sie doppelte Zeilen aus einer Datei mit einem bestimmten Muster löschen möchten, können Sie den Befehl sed delete verwenden.

5. Beschränken Sie den Vergleich auf „N“ Zeichen mit der Option -w

Diese Option beschränkt den Vergleich nur auf die ersten angegebenen „N“-Zeichen. Verwenden Sie für dieses Beispiel die folgende test2-Eingabedatei.

$ cat test2
hi Linux
hi LinuxU
hi LinuxUnix
hi Unix

Der folgende uniq-Befehl mit der Option „w“ vergleicht die ersten 8 Zeichen der Zeilen in der Datei und gibt dann mit der Option „c“ die Anzahl der Vorkommen der Dateizeilen aus.

$ uniq -c -w 8 testNew
  3 hi Linux
  1 hi Unix

Der folgende uniq-Befehl mit der Option „w“ vergleicht die ersten 8 Zeichen der Zeilen in der Datei und druckt dann mit der Option „D“ alle doppelten Zeilen der Datei.

$ uniq -D -w 8 testNew
hi Linux
hi LinuxU
hi LinuxUnix

6. Vermeiden Sie es, die ersten „N“-Zeichen mit der Option -s zu vergleichen

Diese Option überspringt den Vergleich der ersten angegebenen „N“-Zeichen. Verwenden Sie für dieses Beispiel die folgende test3-Eingabedatei.

$ cat test3
aabb
xxbb
bbc
bbd

Der folgende uniq-Befehl mit Option 's' überspringt den Vergleich der ersten 2 Zeichen der Zeilen in der Datei und druckt dann mit der Option 'D' alle doppelten Zeilen der Datei.

Hier würden die ersten 2 Zeichen, d. h. „aa“ in der 1. Zeile und „xx“ in der 2. Zeile, nicht verglichen, und dann wären die nächsten 2 Zeichen „bb“ in beiden Zeilen gleich, würden also als doppelte Zeilen angezeigt.

$ uniq -D -s 2 test3
aabb
xxbb

7. Vermeiden Sie es, die ersten „N“ Felder mit der Option -f zu vergleichen

Diese Option überspringt den Vergleich der ersten angegebenen 'N' Felder von Zeilen in der Datei.

$ cat test2
hi hello Linux
hi friend Linux
hi hello LinuxUnix

Der folgende uniq-Befehl mit der Option „f“ überspringt den Vergleich der ersten 2 Zeilenfelder in der Datei und druckt dann mit der Option „D“ alle doppelten Zeilen der Datei.

Hier würden die ersten 2 Felder, d. h. „hi hallo“ in der 1. Zeile und „hi Freund“ in der 2. Zeile, nicht verglichen und das nächste Feld „Linux“ in beiden Zeilen wäre gleich, würde also als doppelte Zeilen angezeigt.

$ uniq -D -f 2 test2
hi hello Linux
hi friend Linux

Linux
  1. mv-Befehl unter Linux:7 wesentliche Beispiele

  2. Beispiele für Linux-Tail-Befehle

  3. Linux-wc-Befehl

  4. ln-Befehlsbeispiele in Linux

  5. So entfernen Sie doppelte Wörter aus einer Nur-Text-Datei mit dem Linux-Befehl

Linux-WC-Befehl mit Beispielen

Linux cat-Befehlsbeispiele

Linux gzip-Befehlsbeispiele

dumpe2fs-Befehlsbeispiele in Linux

fsck-Befehlsbeispiele unter Linux

mkfs-Befehlsbeispiele in Linux