私はsed
を使用して、すべてのパターンを数字の直後にドットが続くもの(3.
、355.
など)で空の文字列に置き換えることを試みています。だから私はしよう:
sed 's/\d+\.//g' file.txt
しかし、うまくいきません。何故ですか?
2つの問題
sed
は\d
をサポートしません。 [0-9]
または[[:digit:]]
を使用してください。
+
は特別な意味を得るためにバックスラッシュされなければなりません:\+
。
Sedのマニュアルページは、re_formatのマニュアルページを参照しています。それは2つの区別をします:(1)廃止された正規表現と拡張正規表現。 (2)非拡張正規表現と拡張正規表現。 4つすべての組み合わせが可能です。 sedでは、時代遅れのものと拡張されたものの両方がサポートされていますが、どちらの場合も非拡張版のみがサポートされています。\d演算子は拡張正規表現の機能であるため、sedではサポートされていません。