• Willkommen im Linux Club - dem deutschsprachigen Supportforum für GNU/Linux. Registriere dich kostenlos, um alle Inhalte zu sehen und Fragen zu stellen.

[solved] substring finden mit bash

für mich eine knacknuss, habe 2 stunden gegoogelt und nichts gefunden:
ich möchte in einem bash skript ganz einfach testen, ob eine string in einer (text)variable enthalten ist. dabei soll das ergebnis in einer variable landen, z.b. 0 falls nicht gefunden und 1 falls gefunden.
hab mit grep, index und strstr (geht nur im c) erfolglos ausprobiert.
hat jemand ein rezept ?
 

WernerS

Newbie
Hallo!

Nachdem Deine Frage schon etwas älter ist, kann natürlich sein, dass Du inzwischen eine Lösung für Dein Problem hast.

Falls nicht, wie wäre es mit folgendem Ansatz:

Code:
SUCHMUSTER=suchstring

RESULT=`echo   $zu_durchsuchende_variable  | grep $SUCHMUSTER ` 
if [ "$RESULT" = "" ]
then
  echo "Nicht enthalten"
else
  echo "Enthalten"
fi

Achtung: Du mußt die richtigen Hochkommas verwenden (Shift + (Taste rechts neben "?") )!

Vielleicht geht es auch noch eleganter ...

Ciao
Werner
 
sehr elegant gegenüber meine monströsen konstrukte (die nicht funktionierten). ja, ich kenne die backticks für die befehlssubstitution.
grazie werner!
 

ozi

Newbie
Hallo,

grep liefert bereits als return code 0 oder 1

echo "Homer_Simpson" | grep Simpson

damit hast Du in $? schon das was du willst

0 fuer gefunden
1 fuer nicht gefunden

Gruesse
o.
 
danke o.
soll jemand sagen, im linux findet man keinen support.
2 lösungen in kurzer zeit. bin begeistert...
ich helfe auch wenn ich kann
ciao
mauri
 
Oben