Respostas:
Como sed não é perl - as regexes sed não têm uma \dabreviação:
sed 's/[[:digit:]]\+\.//g'
aqui documentação de expressão regular .
/[[:digit:]]*\. /corresponderá à sequência foo.porque você permite zero dígitos. Se você quer uma ou mais uso \+como mostrado
Dois problemas:
sednão suporta \d. Use [0-9]ou [[:digit:]].
+deve ser com barra invertida para obter o significado especial: \+.
interpret regular expressions as extended (modern) regular expressions rather than basic regular expressions (BRE's).Infelizmente, isso não ajuda com a questão \ d ...
-Enão funciona para o GNU sed, ele usa em seu -rlugar.
sedapenas suga quando se trata de portabilidade ...
-Eno BSD sed e -rno GNU sed), no BSD sed, +nem o \+( nem com o mesmo ?) funcionará, enquanto no GNU sed você pode faça com que eles trabalhem com a barra invertida. Daí a recomendação comum de usar regex prolongada em scripting
A página do manual sed referencia a página do manual re_format. Faz duas distinções: (1) expressões regulares obsoletas versus estendidas; (2) expressões regulares não aprimoradas versus expressões regulares aprimoradas. Todas as 4 combinações são possíveis. Há suporte no sed para obsoletos e estendidos, mas em ambos os casos apenas para não aprimorados. O operador \ d é um recurso de expressões regulares aprimoradas, portanto, não é suportado pelo sed.