Réponses:
Parce que sed n'est pas perl - les expressions rationnelles sed n'ont pas de \draccourci:
sed 's/[[:digit:]]\+\.//g'
La documentation sur les expressions régulières est ici .
/[[:digit:]]*\. /correspondra à la chaîne foo.parce que vous autorisez zéro chiffre. Si vous voulez une ou plusieurs utilisations \+comme indiqué
Deux problèmes:
sedne supporte pas \d. Utilisez [0-9]ou [[:digit:]].
+doit être backslashés pour obtenir la signification particulière: \+.
interpret regular expressions as extended (modern) regular expressions rather than basic regular expressions (BRE's).Malheureusement, cela n'aide pas le problème de \ d ...
-Ene fonctionne pas pour GNU sed, il utilise à la -rplace.
sedmerde quand il s'agit de la portabilité ...
-Esur BSD sed et -rGNU sed), sous BSD sed, ni +ne fonctionnera \+(même avec ?), alors que dans GNU sed, vous pouvez faites-les travailler avec la barre oblique inverse. D'où la recommandation commune d'utiliser l'expression régulière étendue dans les scripts
La page de manuel sed fait référence à la page de manuel re_format. Il fait 2 distinctions: (1) expressions régulières obsolètes par rapport aux expressions régulières étendues; (2) expressions régulières non améliorées par rapport aux expressions régulières améliorées. Les 4 combinaisons sont possibles. Sed est obsolète et étendu, mais dans les deux cas uniquement pour les versions non améliorées. L'opérateur \ d est une fonctionnalité d'expressions régulières améliorée, donc non prise en charge par sed.