String in der Bash zerlegen

Markus Wigge markus at cultcom.de
Thu Aug 6 14:30:10 CEST 2009


Hi,

> bin gerade dabei, ein kleines Shellscript (Bash) zu schreiben und stosse 
> auf folgendes Problem:
> Ich habe einen String im Format String1/String2/String3
> 
> Nun brauche ich davon aber immer nur den String nach dem letzten "/". Die 
> Länge ist allerdings variabel, so dass ich nciht weiß, wieviel Slashes 
> enthalten sind. Weiß jemand Rat, wie ich an den letzten Schtring komme???

$ foo="sagasg/dsfagadg/dfgsdfg/sdfgsdfg/dfsg"
$ echo ${foo##*/}
dfsg
$ basename $foo
dfsg

"basename" funktioniert nur bei Slashes ;-)

/Markus


P.S.: Diese Antwort ging wohl nicht an die Liste...

Aber nachdem ich die zum Teil sehr komplexen Lösungsvorschläge gelesen
habe hier auch nochmal das Beispiel mit ${foo##*/}

Das ist das mit Abstand einfachste.



More information about the Linux mailing list