gutefrage.net, die Ratgeber Community
Login   |  Registrieren   |  Forum |  Richtlinien & FAQ

Bash: Wie funktioniert ein Stringvergleich mit einem Muster in einem Skript?

gefragt von CuchulainnCuchulainn am 24.01.2008 um 14:07 Uhr

Ich möchte gerne einen String mit einem Muster vergleichen. Und zwar will ich mit einer If-Anweisung alle Strings herausfiltern, die beispielsweise mit abc beginnen.

Ich habe so etwas versucht:

if [ $i="^abc.*$ ] then

blablabla

fi

In dem Skript meines Professors steht etwas, dass man bei einem Mustervergleich [[: anwenden müsste. Das Skript ist aber grottenschlecht - es ist kein Beispiel dabei und ich bekomme es einfach nicht hin. Es kann doch nicht so schwer sein, oder?

Frage beantworten

Hier finden Sie weitere Fragen zu den Themen:

Linux x 1.237 Unix x 39 Skript x 33 String x 16 Bash x 9 Mustervergleich x 1 if-Anweisung x 1 Stringvergleich x 1

Vom Fragesteller als hilfreichste Antwort ausgezeichnet


a1exander
beantwortet von a1exander am 25. Januar 2008 08:25
1x
Die Antwort ist hilfreich? Dann klick mich!
Hilfreichste Antwort

Versuche es mal if [ -z "${i/abc*}" ] ; then

... ${i/abc} löscht im den String alles, was auf abc passt, wenn das am Anfang stand, ist dann der String leer.

Mit [[ kenne ich mich leider nicht aus.

Kommentar von B4a106e4893fd452df0001eaeecf9d7esmallCuchulainn am 25. Januar 2008 18:36

Vielen Dank. Wenn ich das -z weglasse, macht es genau das, was ich brauche. :D


Weitere gute Antworten


harveyoswaldt
beantwortet von harveyoswaldt am 25. Januar 2008 23:25
1x
Die Antwort ist hilfreich? Dann klick mich!

bei Perl würde es heissen: if ($i =~ /^abc/) :)

Kommentar von B4a106e4893fd452df0001eaeecf9d7esmallCuchulainn am 26. Januar 2008 10:53

Danke. Mit Perl muss ich für diese Klausur auch arbeiten können. Dann stehe ich mit Sicherheit bei irgendeiner Übung auch mal vor diesem Problem.


Cuchulainn
beantwortet von Cuchulainn am 24. Januar 2008 14:09
0x
Die Antwort ist hilfreich? Dann klick mich!

Vor dem blablabla sollte eine Raute als Kommentarzeichen stehen.


Frage beantworten

Verwandte Fragen

Verwandte Fragen

Noch nicht die richtige Antwort? Dann hier in allen Fragen und Tipps suchen:




Die unter gutefrage.net angebotenen Dienste und Ratgeber Inhalte werden nicht geprüft. Die Richtigkeit der Inhalte wird nicht gewährleistet. Bitte lesen Sie hierzu auch unsere Rechtlichen Hinweise.