Startseite > Textverarbeitung & Suche > uniq

uniq: Entfernt und zählt doppelte Zeilen

Der Befehl `uniq` wird verwendet, um aufeinanderfolgende doppelte Zeilen in einer Textdatei oder der Standardeingabe zu finden und zu entfernen oder um die Anzahl der doppelten Zeilen mit bestimmten Optionen zu zählen. Insbesondere die Option `-c` ist nützlich für die Datenanalyse, da sie die Anzahl der Wiederholungen jeder Zeile vor der Zeile ausgibt.

Übersicht

`uniq` wird häufig in Verbindung mit dem Befehl `sort` über eine Pipe (|) verwendet, um doppelte Zeilen in sortierten Daten effizient zu verarbeiten. Die Option `-c` ermöglicht es, die Anzahl der doppelten Zeilen leicht zu ermitteln.

Hauptmerkmale

  • Verarbeitet aufeinanderfolgende doppelte Zeilen
  • Zählt doppelte Zeilen (-c)
  • Option zum Ignorieren der Groß-/Kleinschreibung (-i)
  • Vergleicht Felder oder Zeichen, die ignoriert werden sollen

Wichtige Optionen

Funktionen

Vergleichsmethoden

Erzeugter Befehl:

Kombinieren Sie die Befehle.

Beschreibung:

`uniq` Führen Sie den Befehl aus.

Kombinieren Sie diese Optionen und führen Sie die Befehle virtuell zusammen mit der KI aus.

Anwendungsbeispiele

Wortfrequenz in einer Datei zählen

sort words.txt | uniq -c

Zählt, wie oft jedes Wort (Zeile) in der Datei `words.txt` vorkommt und gibt das Ergebnis aus. Da `uniq` nur aufeinanderfolgende Duplikate verarbeitet, müssen zuerst alle Duplikate mit `sort` nebeneinander platziert werden.

Häufigste Zeilen in einer Log-Datei finden

cat log.txt | sort | uniq -c | sort -nr

Zählt die Anzahl der doppelten Zeilen in einer Log-Datei und sortiert das Ergebnis dann absteigend nach der Anzahl (Zahl), um die häufigsten Zeilen von oben anzuzeigen.

Doppelte Zeilen zählen, Groß-/Kleinschreibung ignorieren

echo -e "Apple\napple\nBanana\napple" | sort | uniq -ci

Zählt die Anzahl der doppelten Zeilen aus der Standardeingabe, wobei 'Apple' und 'apple' als gleich behandelt werden.

Doppelte Zeilen zählen, bestimmte Felder ignorieren

sort -k2 data.txt | uniq -f 1 -c

Zählt die Anzahl der doppelten Zeilen, indem das erste Feld der Datei ignoriert und ab dem zweiten Feld verglichen wird. (Beispiel: Wenn der Inhalt von `data.txt` `ID1 apple` und `ID2 apple` ist, wird 'apple' als 2 gezählt).

Tipps & Hinweise

Der Befehl `uniq` verarbeitet standardmäßig nur 'aufeinanderfolgende' doppelte Zeilen. Um Duplikate in der gesamten Datei zu entfernen oder zu zählen, müssen Sie die Zeilen zuerst mit dem Befehl `sort` sortieren.

Nützliche Tipps

  • Verwendung mit sort: `uniq` verarbeitet nur aufeinanderfolgende Duplikate. Um Duplikate in der gesamten Datei zu verarbeiten, müssen Sie sie zuerst mit `sort` sortieren. Beispiel: `sort file.txt | uniq -c`
  • Häufigste Elemente finden: Sie können die Ergebnisse von `uniq -c` mit `sort -nr` verketten, um die am häufigsten vorkommenden Elemente absteigend zu sortieren. Beispiel: `sort file.txt | uniq -c | sort -nr`
  • Leistungsüberlegungen: Bei sehr großen Dateien müssen Sie den Speicherverbrauch von `sort` und `uniq` berücksichtigen. Bei Bedarf können Sie mit der Option `-T` von `sort` ein temporäres Verzeichnis angeben.

Verwandte Befehle

Funktional ähnliche oder häufig zusammen verwendete Befehle.


Gleiche Kategorie Befehle