Cuchulainn 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
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?

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.

bei Perl würde es heissen: if ($i =~ /^abc/) :)
Cuchulainn 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.

Vor dem blablabla sollte eine Raute als Kommentarzeichen stehen.
Vielen Dank. Wenn ich das -z weglasse, macht es genau das, was ich brauche. :D