J'ai vu cet exemple:
hello=ho02123ware38384you443d34o3434ingtod38384day
echo ${hello//[0-9]/}
Ce qui suit cette syntaxe: ${variable//pattern/replacement}
Malheureusement, le patternchamp ne semble pas prendre en charge la syntaxe regex complète (si j'utilise .ou \s, par exemple, il essaie de faire correspondre les caractères littéraux).
Comment puis-je rechercher / remplacer une chaîne en utilisant la syntaxe regex complète?
\sne fait pas partie de la syntaxe d'expression régulière définie par POSIX (ni BRE ni ERE); c'est une extension PCRE, et la plupart du temps non disponible depuis le shell. [[:space:]]est l'équivalent le plus universel.
\speut être remplacé par [[:space:]], au fait, .par ?, et les extensions extglob du langage de modèle de shell de base peuvent être utilisées pour des choses comme des sous-groupes facultatifs, des groupes répétés, etc.