zeichenfolge überprüfen in String

Dieses Thema im Forum "Shell-Skripte" wurde erstellt von belubaba, 23.09.2005.

  1. #1 belubaba, 23.09.2005
    belubaba

    belubaba Tripel-As

    Dabei seit:
    20.09.2005
    Beiträge:
    184
    Zustimmungen:
    0
    Ich habe folgendes Problemchen.

    Ich habe eine Variable mit unbestimmten Inhalt.
    Je nachdem welche Zeichenfolgen sie enthält will ich sie unterschiedlich bearbeiten.

    z.B.: Wenn die Variable den String "hallo" enthält dann Verarbeitung 1.

    Wenn die Zeichenfolge nicht den String "hallo" oder den String "hallo" und ein "i" enthält dann Verarbeitung 2.

    Das sieht bei mir momentan wie folgt aus.

    if [ 1 = `expr "$var" : '.*hallo$' >/dev/null |grep -v i;echo $?` ]; then
    dosomesthing
    else
    dootherstuff
    fi

    Unglücklicherweise funktioniert das nicht :)

    kann mir jemand hier weiterhelfen?

    bbb
     
  2. Anzeige

    Schau dir mal diese Kategorie an. Dort findest du bestimmt etwas.
    Registrieren bzw. einloggen, um diese und auch andere Anzeigen zu deaktivieren
  3. hmhweb

    hmhweb Mitglied

    Dabei seit:
    29.11.2004
    Beiträge:
    46
    Zustimmungen:
    0
    Hallo,
    vielleicht so:

    var="hallo i" # oder wie auch immer var gesetzt wird
    if [ "$var" = "hallo" ] ; then
    echo "hallo zweig"
    else
    echo "hallo iii zweig "
    fi


    hmh
     
  4. #3 belubaba, 23.09.2005
    belubaba

    belubaba Tripel-As

    Dabei seit:
    20.09.2005
    Beiträge:
    184
    Zustimmungen:
    0
    Da habe ich mich glaube ich missverständlich ausgedrückt.

    Die Variable enthält nicht entweder "hallo" oder "hallo i" Sondern eine beliebige Zeichenkette die
    entweder "hallo" enthält

    oder nicht "hallo" enthält oder "hallo und i" enthält.

    Beispiel für Fall 1:


    var="hallo fred"

    Beispiel für Fall 2:

    var="sdfsfdsdfsdfsdf"
    oder
    var="hallo inge"

    bb
     
  5. hmhweb

    hmhweb Mitglied

    Dabei seit:
    29.11.2004
    Beiträge:
    46
    Zustimmungen:
    0
    sorry, dann vielleicht so:

    var="mit hallo"
    echo $var | grep -iqw "hallo"
    if [ $? = 0 ] ; then
    echo "hallo zweig"
    else
    echo "kein hallo als einzelnes wort drin"
    fi

    hmh
     
  6. #5 neutrino1, 30.09.2005
    neutrino1

    neutrino1 Mitglied

    Dabei seit:
    03.05.2005
    Beiträge:
    30
    Zustimmungen:
    0
    Hi!

    • '.*hallo$' - dir ist klar, daß hallo am Ende Stehen müßte? (macht das $ ;-)
    • expr "$var" : '.*hallo$' - liefert dir bloß die Anzahl der passenden Zeichen
    • expr "$var" : '.*hallo$' >/dev/null |grep -v i - Wenn du den output nach /dev/null wegwirfst, dann wird der grep nie(!) ein i finden

    Ich würde dir daher folgendes vorschlagen:

    Code:
    if [[ $(echo $var|grep -i hallo|grep -v i > /dev/null;echo $?) -eq 0 ]]
    then
    	echo "In \"$var\" ist der String \"hallo\" enthalten, aber kein i"
    else
    	echo "Alle anderen Faelle ;-)"
    fi
    
    Ciao
     
Thema:

zeichenfolge überprüfen in String

Die Seite wird geladen...

zeichenfolge überprüfen in String - Ähnliche Themen

  1. GnuPG - Einleitungszeichenfolge

    GnuPG - Einleitungszeichenfolge: Hallo Leute, könnt ihr kurz helfen? Wollte herausfinden ob die GnuPG-Einleitung bei symmetrischen Verschlüsselungen von Version zu Version...
  2. [c] bestimmte Zeichenfolgen aus String auslesen

    [c] bestimmte Zeichenfolgen aus String auslesen: Hi Leute Sorry wenn es dazu schonmal ein Thema gab, aber die SUFU war bei mir nun relativ erfolglos, weil ich nicht genau weiss, was ich suchen...
  3. Auslesen / durchsuchen / überprüfen / löschen

    Auslesen / durchsuchen / überprüfen / löschen: Für euch vermutlich eine Kleinigkeit, für mich ein grosses Stück Arbeit - als bekennender Newbie. Mein Ziel, ein Befehl für die Bash, die...
  4. replication überprüfen

    replication überprüfen: Hallo leute, mal wieder Thema replication... Kann ich irgendwie prüfen, ob die Replication also der slave zu 100% synchron mit dem master ist...
  5. Updates per Shell Script überprüfen

    Updates per Shell Script überprüfen: Hallo erstmal, also ich hab bisher leider überhaupt keine richtige Erfahrung was ShellScripts angeht. Im moment bin ich auf der Suche nach...