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_123
Example 2
$ x=aaabbbccc $ echo ${x#a*b} bbccc
Description
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} aaabb
Description
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_aabbbccc
Description
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