1. Diese Seite verwendet Cookies. Wenn du dich weiterhin auf dieser Seite aufhältst, akzeptierst du unseren Einsatz von Cookies. Weitere Informationen

[Shell] Pipe ausgabe in einer if Statement umleiten

Dieses Thema im Forum "CGI, Perl, Python, Ruby, Power Shell" wurde erstellt von biotex, 11. Juli 2011.

  1. biotex

    biotex Grünschnabel

    Hallo Leute,
    Ich hab da mal eine Frage.
    Ist es möglich eine Pipe Ausgabe zu überprüfen, ob sie einen bestimmten String enthält?

    Ich habe mir das ungefähr so vorgestellt.
    Code (Text):
    1. ./programm | tee foo.csv | cut -d ';' -f 1 | if ... = zahl
    2.     then
    3.     echo 'Ziel erreicht'
    4.     exit 0
    5. fi
    Der Befehl soll die Daten aus dem Programm ausgeben und in einer Datei umleiten. Falls die Ausgabe eine bestimmte Zahl oder String enthält, so soll das Programm beendet werden.

    Ich bedanke mich im voraus.


    MfG

    biotex
    Zuletzt bearbeitet: 11. Juli 2011
  2. olqs

    olqs Erfahrenes Mitglied

    Wie wärs so:
    Code (Text):
    1.  
    2. ./programm | tee foo.csv | cut -d ';' -f 1 | while read line
    3. do
    4.   if [[ "$line" == "23" ]];
    5.   then
    6.     echo "Fertig"
    7.     exit 0
    8.   fi
    9. done
    10.  
    Gruss
    Alex
  3. chibisuke

    chibisuke Erfahrenes Mitglied

    Code (Text):
    1.  
    2. if [ "$( ./programm | tee foo.csv | cut -d ';' -f 1 )" = "bla" ]
    3.     then
    4.     echo 'Ziel erreicht'
    5.     exit 0
    6. fi

Diese Seite empfehlen