Ich habe dieses Beispiel gesehen:
hello=ho02123ware38384you443d34o3434ingtod38384day
echo ${hello//[0-9]/}
Welches folgt dieser Syntax: ${variable//pattern/replacement}
Leider patternscheint das Feld keine vollständige Regex-Syntax zu unterstützen (wenn ich es verwende .oder \szum Beispiel versuche, mit den Literalzeichen übereinzustimmen).
Wie kann ich eine Zeichenfolge mit vollständiger Regex-Syntax suchen / ersetzen?
\sist nicht Teil der von POSIX definierten Standardsyntax für reguläre Ausdrücke (weder BRE noch ERE). Es ist eine PCRE-Erweiterung und meistens nicht über die Shell erhältlich. [[:space:]]ist das universellere Äquivalent.
\skann [[:space:]]übrigens .durch ersetzt werden ?, und extglob-Erweiterungen der Baseline-Shell-Mustersprache können für Dinge wie optionale Untergruppen, wiederholte Gruppen und dergleichen verwendet werden.