Ответы:
Поскольку sed не является perl-regexed, у него нет \dсокращения:
sed 's/[[:digit:]]\+\.//g'
Документация по регулярным выражениям здесь .
/[[:digit:]]*\. /будет соответствовать строке, foo.потому что вы допускаете ноль цифр. Если вы хотите использовать один или несколько, \+как показано на рисунке
Две проблемы:
sedне поддерживает \d. Используйте [0-9]или [[:digit:]].
+должно получить управляющие последовательностями особого значения: \+.
interpret regular expressions as extended (modern) regular expressions rather than basic regular expressions (BRE's).сожалению, это не поможет с проблемой \ d ...
-Eне работает для GNU sed, -rвместо этого он использует .
sedпросто отстойно, когда дело доходит до переносимости ...
-Eв sed BSD и -rв GNU sed), то в BSD sed ни то, +ни другое \+(то же самое с ?) не будет работать вообще, тогда как в GNU sed вы можете это сделать. заставить их работать с обратной косой чертой. Отсюда общая рекомендация использовать расширенное регулярное выражение в сценариях
Справочная страница sed ссылается на справочную страницу re_format. Это делает 2 различия: (1) устаревшие и расширенные регулярные выражения; (2) регулярные выражения без улучшений по сравнению с расширенными. Все 4 комбинации возможны. В sed есть поддержка как устаревшего, так и расширенного, но в любом случае только для не улучшенного. Оператор \ d является функцией расширенных регулярных выражений, поэтому не поддерживается sed.