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