J'essaie d'utiliser sed
pour substituer tous les motifs avec des chiffres suivis immédiatement d'un point (tels que 3.
, 355.
) par une chaîne vide. J'essaie donc :
sed 's/\d+\.//g' file.txt
Mais ça ne marche pas. Pourquoi cela ?
J'essaie d'utiliser sed
pour substituer tous les motifs avec des chiffres suivis immédiatement d'un point (tels que 3.
, 355.
) par une chaîne vide. J'essaie donc :
sed 's/\d+\.//g' file.txt
Mais ça ne marche pas. Pourquoi cela ?
Parce que sed n'est pas perl -- les regex sed n'ont pas d'avertissement. \d
en abrégé :
sed 's/[[:digit:]]\+\.//g'
documentation sur les expressions régulières sed aquí .
Au lieu de mettre le + en antislash (ce qui ne fonctionne pas sous Mac OS X, par exemple), vous pouvez utiliser l'option -E pour interpret regular expressions as extended (modern) regular expressions rather than basic regular expressions (BRE's).
Malheureusement, cela n'aide pas avec la \d question...
Pour compléter les autres réponses, quelques années plus tard, j'ai découvert que je voulais la fonction étendue pour une expression rationnelle plus complexe.
Cela attend simplement +
pour un ou plusieurs d'entre eux, et a généralement rendu la chaîne plus évidente pour moi, tant pour mon cas que pour celui-ci.
# NOTE \d is not supported
sed --regexp-extended 's/[0-9]+\.//g'
-E
-r
--regexp-extended
sont toutes les mêmes
使用方法 sed
4.7
La page de manuel sed fait référence à la page de manuel re_format. Elle fait 2 distinctions : (1) expressions régulières obsolètes contre expressions régulières étendues ; (2) expressions régulières non améliorées contre expressions régulières améliorées. Les 4 combinaisons sont possibles. Il existe un support dans sed pour les expressions régulières obsolètes et étendues, mais dans tous les cas seulement pour les expressions régulières non améliorées. Le site \d est une caractéristique des expressions régulières améliorées, et n'est donc pas prise en charge par sed.
SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.
1 votes
J'ai trouvé cet article très utile