Я видел этот пример:
hello=ho02123ware38384you443d34o3434ingtod38384day
echo ${hello//[0-9]/}
Который следует этому синтаксису: ${variable//pattern/replacement}
К сожалению, patternполе не поддерживает полный синтаксис регулярных выражений (если я использую .или \s, например, оно пытается соответствовать буквенным символам).
Как я могу найти / заменить строку, используя полный синтаксис регулярных выражений?
\sне является частью стандартного синтаксиса регулярных выражений, определенного POSIX (ни BRE, ни ERE); это расширение PCRE, и в основном недоступно из оболочки. [[:space:]]является более универсальным эквивалентом.
\sможет быть заменен [[:space:]], кстати, с .помощью ?и extglob расширения языка шаблонов базовой оболочки может использоваться для таких вещей , как дополнительные подгруппы, повторяющихся групп, и тому подобное.