Supportnet Computer
Planet of Tech

Supportnet / Forum / Linux

Shell mehere Wörte übergeben





Frage

Hi Leute, habe mir ein Shell Script geschrieben welches aus einer vorhandenen Textdatei bestimmte Dinge heraus suchen soll. ich setze also innerhalb des Shell scriptes eine Variable suche=Bitte und das Ergebnis ist super. Möchte ich aber nach etwas konkretem suchen dann geht's nicht suche=Bitte Namen eingeben Das System sagt mir dann das es den Datiennamen nicht finden kann. Habe es auch schon mit Anführungsstrichen, Hochkomma und diesen beiden ´ und ` versucht. Auch mit einem ECHO funktioniert's nicht: echo "Geben Sie den Suchbegriff ein: " read suche Man kann dann zwar alles eingeben, mit einem Wort geht's auch aber sobald ein Leerzeichen auftaucht, knallts :-( Hab Ihr irgendwelche Tips ? Gruß LowNoise

Antwort 1 von Randolf

Ich vermute, Du hast grep im Einsatz.

Antwort 2 von stefanix

Hi,
wenn du der Variablen "suche" den String mit "Bitte Namen eingeben" übergibst, wird dieser String mit grep "$suche" test.text auch gefunden, falls in der Datei vorhanden.Du musst grep den String in Anführungszeichen übergeben.
Grüße, Stefan

Antwort 3 von stefanix

PS: Zum Verständnis,

suche="Hallo Welt"
echo $suche -> Ergebnis: Hallo Welt
grep Hallo Welt test.txt -> Welt wird als 2. Argument (File) übernommen und nicht als Suchstring.
grep [options] PATTERN [FILE. . .]

Schau mal mit man bash unter Quoting nach.

Grüße Stefan

Ich möchte kostenlos eine Frage an die Mitglieder stellen:


Ähnliche Themen:


Suche in allen vorhandenen Beiträgen: