Ausgabe in 2 FIFOs gleichzeitig schreiben

Post Reply
Message
Author
gitarrenfritze

Ausgabe in 2 FIFOs gleichzeitig schreiben

#1 Post by gitarrenfritze »

Hallo zusammen,
ich bringe mir gerade ein wenig grundlegende Shell-Programmierung bei und habe bei einer Übungsaufgabe ein Problem:
Ich soll mithilfe von Pipes und FIFOs ein paar Ausgaben in 2 Dateien speichern, einmal die Benutzernamen der zuletzt auf dem System eingeloggten User (das ganze noch sortiert, umgebastelt etc etc) und einmal die IP-Adressen.
Wie ich dies allgemein mache ist mir klar (last -i | cut ......), jedoch gibt es eine fiese Einschränkung bei der Aufgabe: ich soll versuchen das Ganze mit nur EINEM Aufruf von "last" und OHNE temporäre Dateien als Zwischenspeicher lösen. Als Tipp ist gegeben "FIFOs to the rescue...".

Meine Idee war jetzt, dass ich zunächst einmal die Ausgabe von last in 2 FIFOs schreibe und dann einfach aus den FIFOs mir meine Ausgaben zusammenbastel.
Wenn ich jedoch so etwas schreibe wie "last -i | tee myfifo& > myfifo2&" klappt das irgendwie überhaupt nicht. Schreibe ich hingegen "last -i | tee text1.txt > text2.txt" klappt alles und ich habe die last-Ausgabe in beiden Textdateien.

Wieso funktioniert dieses Prinzip nicht mit meiner FIFO-Lösung? Habt ihr andere Ideen, wie ich diese Aufgabe lösen könnte? Ich denke mir soll halt damit der Umgang mit FIFOs vermittelt werden, aber anscheinend habe ich das ganze noch nicht so verstanden :D

Vielen Dank!

Post Reply