Übersicht über den uniq-Befehl
`uniq` ist eine Abkürzung für 'unique' (einzigartig) und dient dazu, doppelte Zeilen in einer Datei zu finden und zu verarbeiten. Wichtig ist, dass `uniq` **nur aufeinanderfolgend doppelte Zeilen** verarbeitet. Um Duplikate in der gesamten Datei zu entfernen, müssen die Daten daher zuerst mit dem `sort`-Befehl sortiert werden.
Funktionsweise von uniq
Der uniq-Befehl liest die Eingabezeilen einzeln und vergleicht sie mit der unmittelbar vorhergehenden Zeile. Sind beide Zeilen identisch, gelten sie als Duplikat; sind sie unterschiedlich, wird die neue Zeile als eindeutig betrachtet. Aus diesem Grund muss die Datei unbedingt mit dem `sort`-Befehl sortiert werden, um Duplikate in der gesamten Datei zu entfernen.
Wichtige Optionen
Mit den verschiedenen Optionen des `uniq`-Befehls können Sie detaillierte Aufgaben wie das Entfernen von Duplikaten, das Zählen oder das Ausgeben bestimmter Zeilen ausführen.
1. Grundfunktionen
2. Steuerung der Vergleichsmethode
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.
Häufig verwendete Beispiele
Lernen Sie, wie Sie Daten effektiv verarbeiten, indem Sie `uniq` und `sort` zusammen verwenden.
Duplikate in der gesamten Datei entfernen
sort data.txt | uniq
Sortiert die Datei `data.txt` mit `sort` und entfernt dann mit `uniq` Duplikate in der gesamten Datei. Diese Kombination ist die häufigste Anwendung.
Doppelte Zeilen und deren Häufigkeit ausgeben
sort data.txt | uniq -c
Entfernt doppelte Zeilen aus der Datei `data.txt` und gibt jede Zeile mit der Anzahl ihres Vorkommens aus.
Nur doppelte Zeilen in der gesamten Datei ausgeben
sort data.txt | uniq -d
Gibt nur die Zeilen aus der Datei `data.txt` aus, die zweimal oder öfter vorkommen.
Nur eindeutige Zeilen in der gesamten Datei ausgeben
sort data.txt | uniq -u
Gibt nur die Zeilen aus der Datei `data.txt` aus, die nicht dupliziert sind und nur einmal vorkommen.
Duplikate unter Ignorierung bestimmter Felder entfernen
sort log.txt | uniq -f 1
Entfernt Duplikate in einer Log-Datei, indem Zeitinformationen (das erste Feld) ignoriert werden und nur der restliche Inhalt für den Vergleich herangezogen wird.