Відповіді:
Оскільки sed не є perl - sed-регулярні вирази не мають \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на BSD sed і -rна GNU sed), в BSD sed ні, +ні \+(те саме ?) не працюватимуть взагалі, тоді як у GNU sed ви можете змусити їх працювати з косою рисою. Звідси загальна рекомендація використовувати розширений регулярний вираз у сценаріях
Сторінка sed man посилається на man-сторінку re_format. Він робить 2 розрізнення: (1) застарілий порівняно з розширеними регулярними виразами; (2) некращені проти покращені регулярні вирази. Можливі всі 4 комбінації. Існує підтримка в sed і для застарілих, і для розширених, але в будь-якому випадку лише для непідсилених. Оператор \ d є функцією розширених регулярних виразів, тому не підтримується sed.