私は、sed
を使って、数字の後にすぐにドットが続くパターン(3.
, 355.
など)をすべて空の文字列で代用しようとしています。そこで私は試してみます
sed 's/\d+\.//g' file.txt
でも、うまくいかない。なぜだろう?
97 Mika H. 2012-12-01
ベストアンサー
sed は perl ではないので — sed の正規表現には \d
の短縮形がありません
sed 's/[[:digit:]]\+\.//g'
sed 正規表現ドキュメント こちら
138 glenn jackman 2012-12-01
Two problems:
sed
は\d
をサポートしていません。[0-9]
か[[:digit:]]
を使ってください+
は特別な意味を得るためにバックスラッシュをかけなければなりません。\+
82 choroba 2012-12-01
sed man ページは re_format man ページを参照しています。このページでは2つの区別をしています。(1) 時代遅れの正規表現と拡張された正規表現、(2) 拡張されていない正規表現と拡張された正規表現です。4つの組み合わせがすべて可能です。obsolete と extended の両方に対して sed がサポートされていますが、どちらの場合も non-enhanced のみがサポートされています。\d 演算子は拡張正規表現の特徴であり、したがって sed ではサポートされていません
4 Jonathan Pool 2017-06-26