Springe zum Hauptinhalt

Archiv
next up previous contents
Next: Filenamengenerierung Up: Bourne-Shell als Kommando- und Previous: Standard- E/A und Fileumlenkung

Pipelineverarbeitung

  • Eine Pipeline (pipe) entsteht, wenn die Standardausgabe eines Programmes mit der Standardeingabe eines anderen Programmes verknüpft wird:


    ...cmdi $\vert$ cmdi+1 ...


    allgemein:


    cmd1 $\vert$ cmd2 $\vert$ ... $\vert$ cmdn

  • Pipelines kann man sich vorstellen als einen Datenstrom, der durch verschiedene Programme (Filter) hindurchläuft.
    • Beispiel:
      $ who | wc -l
      $ ls | wc -l
      $ ls -l | grep  '^[Dd]'
      $ ls | pr -3 | lpr
      
    • Bemerkungen:
      • wc, grep,pr sind Filter
      • ls ist kein Filter $\Rightarrow$ nur als erstes Element einer Pipeline möglich
      • falls Ausgabe sowohl auf stdout als auch in ein File geschrieben werden soll: tee (T-Verbindung)
    • Vergleich zur Methode der Fileumlenkung:
      $ ls >tmpfile; wc -l <tmpfile; rm tmpfile
      
      liefert (fast) das gleiche Ergebnis wie
      $ ls | wc -l
      
      aber:
      • Pipeline-Methode ist einfacher und bequemer
      • tmpfile wird durch Shell vor Aufruf von ls erzeugt $\Rightarrow$ ein File mehr im aktuellen Verzeichnis (evtl. Problem: Berechtigung, Files im akt. Verzeichnis zu erzeugen!)
      • ls und wc werden synchron von der Shell gestartet, die zu einer Pipeline gehörenden Programme werden parallel abgearbeitet, die Datenübergabe erfolgt über interne Puffer (evtl. warten)
  • Pipelines sind eine Grundlage für das Tool-Konzept im UNIX:
    • kleine, überschaubare Programme für einen bestimmten Zweck; komplexere Aufgaben können leicht durch Kombination der Programme gelöst werden
    • Beispiel:
      • anstelle ls mit spezieller Option ,,Anzahl der Files`` und who mit der Option ,,Anzahl der Nutzer`` können beide Programme mit wc kombiniert werden
      • dto. bzgl. Mehrspaltendruck usw.
  • Bemerkungen:
    • Programme merken nicht, daß sie Bestandteil einer Pipeline sind
    • Sie müssen (bis auf das erste) von der Standardeingabe lesen und auf die Standardausgabe (bis auf das letzte) ausgeben
    • Konvention: Lesen der Standardeingabe, falls bei Aufruf kein Filename-Argument angegeben wird (z.B. sort, grep, wc)
    • (fast) nie bedeutet die Angabe eines Filename-Argument das Ausgabefile des Programmes ! (Ausnahme: tee)
    • Forderung an Filter:
      • Trennung ,,normale`` Ausgabe von Fehlernachrichtenausgabe
      • Keine Überschriftenausgabe und dergleichen in das Programm ,,verdrahten``

next up previous contents
Next: Filenamengenerierung Up: Bourne-Shell als Kommando- und Previous: Standard- E/A und Fileumlenkung
  • Skulptur der Justizia vor einem Gebäude

    Schulterschluss für ein Studium der Rechtswissenschaften an der TU Chemnitz

    Neue Website der TU Chemnitz zeigt, dass sich Vertreterinnen und Vertreter aus der Justiz, der Anwaltschaft, der Wirtschaft und der Wissenschaft einig sind, wie man in Chemnitz durch neue Studienangebote in den Rechtswissenschaften dem zunehmenden Bedarf an Juristinnen und Juristen in Sachsen wirkungsvoll begegnen kann …

  • Drei Männer stehen nebeneinander. Ein Mann in der Mitte hält eine Urkunde in den Händen.

    Peter Bernshausen ist neuer Kanzler der TU Chemnitz

    Mit der Bestellung durch das Sächsische Staatsministerium für Wissenschaft, Kultur und Tourismus übernimmt Peter Bernshausen ab 1. November 2024 die Leitung der Zentralen Universitätsverwaltung …

  • Grafik mit Vernetzungssymbolen

    Tag des wissenschaftlichen Nachwuchses am 28. November 2024

    Der „Tag des wissenschaftlichen Nachwuchses“ der TU Chemnitz steht in diesem Jahr im Zeichen der vielfältigen Wege zur Promotion und zu unterschiedlichen Karriereoptionen nach der Promotion – Kostenfreie Teilnahme ist nach Online-Anmeldung möglich …

  • Blick auf ein buntes Bild an einem Gebäudeanbau.

    Neue Kunst im „Erfenschlag“

    Studierende und Beschäftigte der TU Chemnitz schufen durch Malen auf dem Wasser ein Kunstwerk, das nun einen Gebäudeanbau auf dem Gelände des südlichsten Uni-Standorts ziert …