Linux Essentials//Die Einsteiger-Zertifizierung des LPI - Linup Front ...
Linux Essentials//Die Einsteiger-Zertifizierung des LPI - Linup Front ...
Linux Essentials//Die Einsteiger-Zertifizierung des LPI - Linup Front ...
Erfolgreiche ePaper selbst erstellen
Machen Sie aus Ihren PDF Publikationen ein blätterbares Flipbook mit unserer einzigartigen Google optimierten e-Paper Software.
8.2 Filterkommandos 115<br />
Bild 8.2: Das Kommando tee<br />
$ cut -d: -f1 /etc/passwd | sort | pr -2 >userlst<br />
<strong>Die</strong>se Kommando-Pipeline entnimmt zunächst der Systemdatei /etc/passwd alle<br />
Benutzernamen (die in der ersten durch »:« getrennten Spalte stehen), sortiert diese<br />
alphabetisch und schreibt sie dann zweispaltig in die Datei userlst. <strong>Die</strong> hier benutzten<br />
Kommandos werden übrigens im Rest dieses Kapitels genauer beschrieben.<br />
Manchmal ist es sinnvoll, den Datenstrom innerhalb einer Kommando-Pipeline<br />
an einer bestimmten Stelle abzuspeichern, etwa weil das dortige Zwischen- Zwischenergebnis abspeichern<br />
ergebnis auch für andere Arbeiten von Interesse ist. Der Befehl tee führt eine Verzweigung<br />
<strong>des</strong> Datenstroms herbei, indem dieser verdoppelt und je ein Strom in<br />
eine Datei sowie an das nächste Kommando geleitet wird. Der Name dieses Kommandos<br />
(lautmalerisch für den Buchstaben »T«) lässt sich leicht aus Bild 8.2 herleiten<br />
– oder Sie denken an ein »T-Stück« in der »Pipeline« …<br />
<strong>Die</strong> Anweisung tee ohne Parameter legt die gewünschte Datei neu an oder<br />
überschreibt eine vorhandene; mit -a (engl. append, »anhängen«) lässt sich die Ausgabe<br />
an das Ende einer bestehenden Datei anfügen.<br />
$ ls -laF | tee liste | less<br />
total 7<br />
drwxr-xr-x 12 hugo users 1024 Aug 26 18:55 ./<br />
drwxr-xr-x 5 root root 1024 Aug 13 12:52 ../<br />
drwxr-xr-x 3 hugo users 1024 Aug 20 12:30 fotos/<br />
-rw-r--r-- 1 hugo users 449 Sep 6 13:50 inhalt<br />
-rw-r--r-- 1 hugo users 15811 Aug 13 12:33 pingu.gif<br />
-rw-r--r-- 1 hugo users 14373 Aug 13 12:33 hobby.txt<br />
-rw-r--r-- 2 hugo users 3316 Aug 20 15:14 chemie.txt<br />
In diesem Beispiel wird der Inhalt <strong>des</strong> aktuellen Verzeichnisses sowohl in die Datei<br />
liste geschrieben als auch auf dem Bildschirm ausgegeben. (<strong>Die</strong> Datei liste ist<br />
noch nicht in der Ausgabe von ls zu sehen, da sie erst später von tee angelegt wird<br />
– ein Unterschied zur Ausgabeumlenkung der Shell.)<br />
Übungen<br />
C<br />
8.6 [!2] Wie würden Sie dasselbe Zwischenergebnis gleichzeitig in mehrere<br />
Dateien schreiben?<br />
8.2 Filterkommandos<br />
Eine der Grundlagen von Unix – und damit <strong>Linux</strong> – ist das »Werkzeugkasten- Werkzeugkastenprinzip<br />
Copyright © 2012 <strong>Linup</strong> <strong>Front</strong> GmbH