Wenn du wirklich Silbe meinst, dann sollte man nicht an den Slashes
/ trennen, sondern zumindest am vorderen Ende des letzten Wortes. "Echte" Silben sind wohl nochmal komplizierter.
Code: Alles auswählen
$ echo 'test/ string /foo/bar / baz fnord/cut' | sed 's/.*\<//'
cut
Oder am letzten
/ trennen (das Shell-Builtin ist allerdings schneller als ein geforktes
sed):
Code: Alles auswählen
$ echo 'test/ string /foo/bar / baz fnord/cut' | sed 's/.*\///'
cut
Das hat aber beides nichts mit einem "echten"
split() zu tun, da wird gar nicht nach Feldern untersucht. Das waere die Domaene von
awk:
Code: Alles auswählen
$ echo 'test/ string /foo/bar / baz fnord/cut' | mawk -F/ '{ print $NF }' # letztes Feld
cut
$ echo 'test/ string /foo/bar / baz fnord/cut' | mawk -F/ '{ print $6 }' # Feld Nummer 6
cut
Noch einfacher ist allerdings
cut,
awk ist da overkill:
Code: Alles auswählen
$ echo 'test/ string /foo/bar / baz fnord/cut' | cut -d/ -f 6
cut
Damit haettest du nun sechs Loesungen, von denen fuenf das gleiche tun. Entscheide dich.
Gruss Cae