2 # substr -- a function to emulate the ancient ksh builtin
6 # -l == shortest from left
7 # -L == longest from left
8 # -r == shortest from right (the default)
9 # -R == longest from right
14 local usage="usage: substr -lLrR pat string or substr string pat"
23 echo "substr: unknown option: $1"
33 if [ "$#" -eq 0 ] || [ "$#" -gt 2 ] ; then
34 echo "substr: bad argument count"
41 # We don't want -f, but we don't want to turn it back on if
42 # we didn't have it already
55 str="${str#$pat}" # substr -l pat string
58 str="${str##$pat}" # substr -L pat string
61 str="${str%$pat}" # substr -r pat string
64 str="${str%%$pat}" # substr -R pat string
67 str="${str%$2}" # substr string pat
74 # If we had file name generation when we started, re-enable it
76 if [ "$fng" = "1" ] ; then