String in der Bash zerlegen
Frank Guthausen (Club)
schach-linux at gmx.li
Thu Aug 6 13:54:06 CEST 2009
Hallo Marco,
hallo LUG OWL.
On Thu, Aug 06, 2009 at 12:59:42PM +0200, Marco Wiese wrote:
>
> 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???
quick 'n dirty:
s="foo/bar/foobar/a bc/wwe/asd/xy z" ; y=""; i=0; go=y; while [[ $go -eq y ]]; do i=$(( $i + 1 )) ; x=`echo $s | cut -d\/ -f $i`; echo $i x=$x ; if [[ $x = "" ]] ; then go=n && break ; fi; done; i=$(( $i-1 )); echo; x=`echo $s | cut -d\/ -f $i`; echo result: $x
Idee: durchzählen, bis nix mehr kommt, dann den letzten davor ausgeben.
Gruss
Frank
More information about the Linux
mailing list