web-dev-qa-db-ja.com

なぜsedの正規表現で `\ d`が機能しないのですか?

Sedの正規表現で\dを使用しようとしていますが、動作しません:

sed -re 's/\d+//g'

しかし、これは機能しています:

sed -re 's/[0-9]+//g'
50
user2036880

\dは、正規表現マクロではないスイッチです。 [0-9]式の代わりに定義済みの「定数」を使用する場合は、次のコードを実行してください。

s/[[:digit:]]+//g
37
Kamil

Sedにはそのような特殊文字グループはありません。 [0-9]を使用する必要があります。

GNU sed、\dは、0〜255の範囲で1〜3桁の10進文字コードを導入します。示されているとおり このコメント

21