Kapitel 4. Betrieb
Zurück | 4.16 Pipes | Weiter

## 4.16 Pipes

Bereits sehr früh wurde das Prinzip der „Pipes“ („Röhren“ ist keine schlechte Übersetzung) integriert. Sie können etwas „hineinschieben“, und am anderen Ende kommt es wieder heraus. Wie bereits beschrieben, gibt es sehr viele kleine, spezialisierte Programme unter Unix, die mit speziellen Parametern aufgerufen werden können. Sinnvoll wäre eine Schnittstelle zwischen diesen Programmen, um Daten auszutauschen oder auch das Ergebnis eines Programmlaufs in einem weiteren Programm aufzubereiten. Diese Schnittstelle ist in Form von „ Pipes“ realisiert. Sicher haben Sie schon das Kommando `ls` benutzt, um sich die Dateien in einem Verzeichnis anzeigen zu lassen. Wenn Sie aber in einem Verzeichnis mit sehr vielen Dateien die Anzahl der Dateien ermitteln möchten, kann das Zählen leicht etwas umständlich werden. Um Zeichen, Wörter oder Zeilen in einer Datei zu zählen, gibt es aber das Kommando `wc` (Word Count). Ein Weg wäre also, die Ausgabe von `ls -l` in eine Datei zu schreiben und mittels `wc -l` die Zeilen zählen zu lassen. Der Umweg über eine Datei lässt sich aber mit einer Pipe umgehen.

Unix benutzt hierfür das Zeichen `|` (Pipe). Verknüpfen Sie einfach die beiden Kommandos mittels dieses Zeichens zu einer Zeile: `ls -l | wc -l` gibt Ihnen die Anzahl der Dateien im aktuellen Verzeichnis aus. An dieser Stelle gibt es aber einen kleinen Haken: `ls` gibt als erste Zeile keinen Dateinamen aus, sondern eine Zeile, in der Informationen über das Verzeichnis aufgezeigt werden; Sie müssen also vom Ergebnis eine Zeile subtrahieren, um auf das genaue Ergebnis zu kommen.

Wenn Sie sich die Rechenarbeit ersparen wollen, können Sie auch die Option `-1` statt `-l` beim Kommando `ls` benutzen, doch das führt jetzt zu weit...

Ein weiteres Beispiel für die Benutzung von Pipes werden wir im folgenden Abschnitt zu `ps` aufzeigen. Sie werden im Laufe der Zeit an vielen Stellen auf weitere Anwendungsfälle stoßen.

Zurück | Nach oben | Weiter
4.15 Einige bash-Funktionen | Zum Anfang | 4.17 `ps`

© 1999-2006 Frank Ronneburg - Dieser Inhalt ist unter einem Creative Commons Namensnennung - Nicht-kommerziell - Keine Bearbeitung Lizenzvertrag lizenziert (creativecommons.org/licenses/by-nc-nd/2.0/de/legalcode).