75

私は\dsedの正規表現で使用しようとしていますが、うまくいきません:

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

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

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

3 に答える 3

58

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

s/[[:digit:]]+//g
于 2013-02-03T10:12:27.430 に答える
33

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

GNU sed では、\d0 ~ 255 の範囲で 1 ~ 3 桁の 10 進文字コードを導入します。このコメントに示されているように。

于 2013-02-03T10:06:03.907 に答える
-7

を追加して、sed で Extended パターンを使用することをお勧めし-Eます。基本的な正規表現では、\d などは検出されません -E Interpret regular expressions as extended (modern) regular expressions rather than basic regular expressions (BRE's). The re_format(7) manual page fully describes both formats.

于 2016-11-15T04:39:40.687 に答える