Uniq-Befehl
Teil des Abschnitts Grundlagen der Terminal-Journey von Coddy — Lektion 33 von 82.
Der uniq-Befehl filtert aufeinanderfolgende doppelte Zeilen aus einer Datei heraus und zeigt nur eindeutige Zeilen an.
Wir haben duplicates.txt:
apple
banana
apple
cherry
banana
banana
Wichtig: uniq entfernt nur Duplikate, die direkt nebeneinander stehen. Deshalb wird es fast immer zuerst zusammen mit sort verwendet:
sort duplicates.txt | uniqDas |-Symbol heißt Pipe — es leitet die Ausgabe eines Befehls als Eingabe an einen anderen weiter. Dies ist ein mächtiges Muster, das Sie oft im Terminal verwenden werden.
Nützliche Flags:
-c — stellt jeder Zeile die Anzahl ihrer Vorkommen voran:
sort duplicates.txt | uniq -c
2 apple
3 banana
1 cherry-d — zeige nur die doppelten Zeilen an:
sort duplicates.txt | uniq -d-u — Zeige nur Zeilen an, die genau einmal vorkommen:
sort duplicates.txt | uniq -uAufgabe
AnfängerVerwende sort und uniq zusammen, um nur die einzigartigen Zeilen aus duplicates.txt ohne Duplikate anzuzeigen.
Tipp: Du musst die Datei zuerst mit
sortsortieren, damit Duplikate gruppiert werden, und dann das Ergebnis mit der Pipe|anuniqweiterleiten, um sie zu entfernen.
Spickzettel
Der uniq-Befehl filtert aufeinanderfolgende Duplikatzeilen aus einer Datei heraus. Er entfernt nur Duplikate, die direkt nebeneinander stehen, daher wird er typischerweise zuerst mit sort verwendet:
sort duplicates.txt | uniqDas Symbol | ist eine Pipe — es leitet die Ausgabe eines Befehls als Eingabe an einen anderen weiter.
Nützliche Flags:
-c — präfext jeder Zeile die Anzahl der Vorkommen:
sort duplicates.txt | uniq -c-d — zeigt nur duplizierte Zeilen:
sort duplicates.txt | uniq -d-u — zeigt nur Zeilen, die genau einmal vorkommen:
sort duplicates.txt | uniq -uProbier es selbst
Diese Lektion enthält ein kurzes Quiz. Starte die Lektion, um es zu beantworten und deinen Fortschritt zu speichern.
Alle Lektionen in Grundlagen
4Verzeichnisse
Ein Verzeichnis erstellenEin Verzeichnis kopierenEin Verzeichnis verschieben und umbenennenEin Verzeichnis löschenZusammenfassung - Verzeichnisoperationen7Dateiinhalt
Head und TailWortanzahlSort-BefehlUniq-BefehlGrep GrundlagenGrep mit FlagsZusammenfassung - Textdetektiv10Log-Analyzer-Projekt
ProjektübersichtAnzeigen der Logdatei2Navigation
Arbeitsverzeichnis anzeigenDateien auflistenVerzeichnis wechselnAbsolute vs. relative PfadeHome- und Root-VerzeichnisZusammenfassung - Den Weg finden8Umleitung
StandardausgabeIn eine Datei überschreibenAn eine Datei anhängenStandardeingabeStandardfehlerausgabeZusammenfassung – Log-Builder3Dateien
Eine Datei erstellenEine Datei lesenEine Datei kopierenEine Datei verschieben und umbenennenEine Datei löschenZusammenfassung - Dateioperationen6Wildcards und Muster
Die Sternchen-WildcardDie Fragezeichen-WildcardKlammer-WildcardsWildcards kombinierenZusammenfassung - Selektive Operationen9Pipes
Was ist eine PipeVerkettung zweier BefehleVerkettung mehrerer BefehlePipe mit GrepZusammenfassung - Daten-Pipeline