Re: Pipes und Fallunterscheidungen
Am Samstag 31 Juli 2004 15:43 schrieb Michael Hierweck:
> Hallo,
>
> ich habe das Problem, dass ich abhängig von einer
> Unterscheidung zwei Aktionen durchführen möchte. Da ganze läuft
> im Rahmen einer Pipe ab.
>
> program1 |((decision && action1) || action2) |program2
>
> decision, action1 und action2 müssen die Ausgabe von program1
> lesen. Die Ausgabe von action1 oder action2 muss an program2
> durchgereicht werden.
>
> Leider kann decision die Daten nicht durchreichen, d.h. auf
> stdout ausgeben.
>
> In der obigen Notation erreicht die Ausgabe von program1 die
> programme action1 bzw. action2 leider nicht.
>
> Wie kann man das formulieren?
>
Wenn ich das Problem richtig verstanden habe vielleicht so:
cat /etc/passwd | (export IFS=: ;
while read a b c;
do (
if test "$a" == "root";
then echo -n "TREFFER" $a ; echo $a:$b:$c | wc;
else echo "NORMAL" $a-:-$b-:-$c;
fi;
) done) | nl
Die Standardausgabe einer oder mehr Variablen zuweisen und die
dann als Argument oder Standardeingabe (Pipe) der
Fallunterscheidung und den Programmen übergeben.
Grüße Bernhard
Reply to: