1

sedを使用して文字列からすべての浮動小数点数を削除したい。したがって、私は使用します

sed -e 's/[ +-]?[0-9]*\.[0-9]*//g'

しかし、それは機能しません:

echo 1.2456 | sed -e 's/[ +-]?[0-9]*\.[0-9]*//g'

与える1.2456[ +-]?ブロックを削除すると、正の数で機能します。

4

4 に答える 4

4

疑問符をエスケープする必要があります。

echo 1.2456 | sed -e 's/[ +-]\?[0-9]*\.[0-9]*//g'
于 2012-10-11T13:03:18.203 に答える
1

記号は?拡張正規表現文字です。拡張式を有効にするオプションをsed指定して呼び出す必要があります。-r

于 2012-10-11T13:07:54.510 に答える
0

脱出? またはsed -r

その後、それは動作するはずです。

于 2012-10-11T13:04:27.537 に答える
0

このバージョンはより比較可能です。?すべてのシステムで機能するわけではなく、+は1回以上繰り返すことを意味します。

echo 1.2456 | sed -e 's/[ \+\-]*[0-9]*\.[0-9]*//g'
于 2012-10-11T21:30:43.327 に答える