Flash Notes
Strings - Prefixes and suffixes handling
• How to display a variable's content without its prefix ?
Solution
echo ${variable#prefix}
Example 1
$ var="xxx_alpha_123"
$ echo ${var#xxx_}
alpha_123
$ pref="xxx_"
$ echo ${var#$pref}
alpha_123Example 2
$ x=aaabbbccc
$ echo ${x#a*b}
bbcccDescription
Substitute the longest matching string :
Example 1
$ x=aaabbbccc
$ echo ${x##a*b}
ccc• How to display a variable's content without its suffix ?
Solution
echo ${variable%prefix}
Example 1
$ x=aaabbbccc
$ echo ${x%b*c}
aaabbDescription
Substitute the longest matching string :
Example 1
$ x=aaabbbccc
$ echo ${x%%b*c}
aaa• How to display a variable's content and substitute a string by another one ?
Solution
echo ${variable/old string/new string}
Example 1
$ x=aaabbbccc
$ echo ${x/a/FOO_}
FOO_aabbbcccDescription
Substitute the longest matching string :
Example 1
$ x=aaabbbccc
$ echo ${x//a/FOO_}
FOO_FOO_FOO_bbbccc• ?
Solution
-
Example 1
$ echo ${x/#a/A}
Aaabbbccc
$ echo ${x/%c/C}
aaabbbccC
$ echo ${x/b/}
aaabbccc
$ echo ${x//b/}
aaaccc
$ echo ${x^}
Aaabbbccc
$ echo ${x^^}
AAABBBCCC
$ echo ${x^a}
Aaabbbccc
$ echo ${x^^a}
AAAbbbccc
$ X=AAABBBCCC
$ echo ${X,}
aAABBBCCC
$ echo ${X,,}
aaabbbccc
$ echo ${x^b}
aaabbbccc
$ echo ${x^^b}
aaaBBBccc
