Menu
Coddy logo textTech

Verkettung mehrerer Befehle

Teil des Abschnitts Grundlagen der Terminal-Journey von Coddy — Lektion 45 von 82.

Sie sind nicht darauf beschränkt, nur zwei Befehle miteinander zu verbinden. Pipes können so viele Befehle verketten, wie Sie benötigen, wobei jeder die Ausgabe des vorherigen Befehls verarbeitet.

Fügen Sie einfach weitere |-Symbole hinzu, um die Pipeline zu erweitern:

cat data.txt | sort | head -5

Dies liest die Datei, sortiert alle Zeilen alphabetisch und zeigt dann nur die ersten 5 Ergebnisse an. Die Daten fließen nacheinander von links nach rechts durch jeden Befehl.

Hier ist ein praktisches Beispiel, das eindeutige sortierte Einträge findet:

cat names.txt | sort | uniq

Der Dateiinhalt wird zuerst sortiert (wodurch Duplikate gruppiert werden), dann entfernt uniq aufeinanderfolgende doppelte Zeilen. Die Reihenfolge ist hier wichtig — uniq entfernt nur benachbarte Duplikate, daher muss die Sortierung zuerst erfolgen.

Du kannst noch mehr Stufen hinzufügen. Um zu zählen, wie viele eindeutige Namen existieren:

cat names.txt | sort | uniq | wc -l

Jede Pipe fügt einen weiteren Transformationsschritt hinzu. Denken Sie beim Erstellen längerer Pipelines darüber nach, was jeder Befehl als Eingabe benötigt und was er als Ausgabe erzeugt. Das Ausgabeformat eines Befehls muss als Eingabe für den nächsten sinnvoll sein.

challenge icon

Aufgabe

Einfach

Die Datei visitors.txt enthält eine Liste von Besuchernamen mit Duplikaten. Verwenden Sie eine Pipeline mit drei Befehlen, um zu zählen, wie viele eindeutige Besucher vorhanden sind.

Führen Sie einen einzelnen Befehl aus, der:

  • cat verwendet, um visitors.txt zu lesen
  • An sort weiterleitet, um die Namen alphabetisch zu ordnen
  • An uniq weiterleitet, um doppelte Einträge zu entfernen
  • An wc -l weiterleitet, um die eindeutigen Namen zu zählen

Hinweis: Verketten Sie alle vier Befehle mit mehreren |-Symbolen. Denken Sie daran, dass uniq nur benachbarte Duplikate entfernt, daher muss die Sortierung davor erfolgen.

Spickzettel

Pipes können mehrere Befehle miteinander verketten, wobei jeder Befehl die Ausgabe des vorherigen verarbeitet. Verwenden Sie das Symbol |, um Befehle zu verbinden:

cat data.txt | sort | head -5

Daten fließen nacheinander von links nach rechts durch jeden Befehl.

Um eindeutige sortierte Einträge zu finden:

cat names.txt | sort | uniq

Der Befehl uniq entfernt aufeinanderfolgende doppelte Zeilen, daher muss zuerst sortiert werden, um Duplikate zu gruppieren.

Um eindeutige Einträge zu zählen, fügen Sie wc -l zur Pipeline hinzu:

cat names.txt | sort | uniq | wc -l

Stellen Sie beim Erstellen von Pipelines sicher, dass das Ausgabeformat eines Befehls als Eingabe für den nächsten sinnvoll ist.

Probier es selbst

Terminal
quiz iconTeste dich selbst

Diese Lektion enthält ein kurzes Quiz. Starte die Lektion, um es zu beantworten und deinen Fortschritt zu speichern.

Alle Lektionen in Grundlagen