Flash Notes

Chaînes de caractères - Manipulation des préfixes et des suffixes


• Comment afficher le contenu d'une variable en supprimant son préfixe ?

Solution

echo ${variable#prefixe}

Exemple 1

$ var="xxx_alpha_123"

$ echo ${var#xxx_}
alpha_123

$ pref="xxx_"
$ echo ${var#$pref}
alpha_123

Exemple 2

$ x=aaabbbccc  

$ echo ${x#a*b}
bbccc

Description

Substitution de la chaîne correspondante la plus longue :

Exemple 1

$ x=aaabbbccc  

$ echo ${x##a*b}
ccc

• Comment afficher le contenu d'une variable en supprimant son suffixe ?

Solution

echo ${variable%prefixe}

Exemple 1

$ x=aaabbbccc  

$ echo ${x%b*c}
aaabb

Description

Substitution de la chaîne correspondante la plus longue :

Exemple 1

$ x=aaabbbccc  

$ echo ${x%%b*c}
aaa

• Comment afficher le contenu d'une variable en substituant une chaîne par une autre ?

Solution

echo ${variable/ancienne chaîne/nouvelle chaîne}

Exemple 1

$ x=aaabbbccc  
$ echo ${x/a/TOTO_}
TOTO_aabbbccc

Description

Substitution de la chaîne correspondante la plus longue :

Exemple 1

$ x=aaabbbccc  
$ echo ${x//a/TOTO_}
TOTO_TOTO_TOTO_bbbccc

•  ?

Solution

-

Exemple 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