2017-02-09 10 views
1

私はcsvファイルを持っていますが、数字の最後にマイナス記号がある浮動小数点数がありますが、これらをマイナス/正面に負の記号が表示されます。負符号の付いた数字にSedを使用する

23.4954-,23.12- 

0.23-,16.5453 

2495.1-,12,134- 

つまり、私は20列と数千行のうち

-23.4954,-23.12 

-0.23,16.5453 

-2495.1,-12,134 

を読むためにそれらをしたいと思い、そこにファイルあたり約80のインスタンスは、おそらくですが、それは本当の痛みですちょうど行くとそれらを置き換える

可能であれば、私はファイルにsedを使用してそれらを変更したいと考えていました。

本当にありがとうございます。

+0

このました'12,134-' a typo? ( '12.134-') – RomanPerekhrest

答えて

0

は、次のアプローチを使用します。

sed -ri 's/([0-9.]+)-/-\1/g' filepath 

-r--regexp-extended) - 拡張正規表現ではなく、基本的な正規表現

-iを使用可能にする - の場所にファイルを変更することができますオプション

+0

ありがとうございました。 –

+0

@ArseneWenger、よろしくお願いします – RomanPerekhrest

0

あなたはこのsedコマンドを使用することもできます。

sed -E 's/([0-9.]+)-/-\1/g' file 

これは0-9.文字で構成される番号の前に-記号を移動します。

+0

あなたの 'sed'に' -E'オプションがない場合、代わりに '-r'を試してみてください。移植可能なスクリプト' s/\([0-9。] [0- 9。] * \) -/- \ 1/g "オプションなし。 – tripleee

関連する問題