7

grepこのタイプの文字列を見つけるために TextWrangler を使用しています。

4,600.00

私の正規表現コマンドは次のとおりです。

\d.\d{3}.\d{2}

文字列を正しく見つけているようです。データをファイルに保存したいので、文字列4,600.00を置き換えたいと思います。見つかった各数字からカンマを削除するにはどうすればよいですか?4600.00.csv

4

3 に答える 3

12

探す:(\d{1,3}),(\d{1,3})\.(\d{1,2})

交換:\1\2.\3

TextWrangler で動作します。

于 2012-08-09T12:50:41.290 に答える
1

awkワンライナー:

awk  --re-interval  '{x=gensub(/([0-9]{1,3}),([0-9]{3}\.[0-9]{2})/,"\\1\\2","g");print x}' file

テスト:

kent$  awk --version|head -1
GNU Awk 3.1.6

kent$  echo "foo,bar,blah,46,000.00,some,more"|awk --re-interval  '{x=gensub(/([0-9]{1,3}),([0-9]{3}\.[0-9]{2})/,"\\1\\2","g");print x}'
foo,bar,blah,46000.00,some,more
于 2012-08-09T11:48:32.140 に答える
0

を使用した片道sed

sed -r 's/([0-9]{1,3}),([0-9]{3}\.[0-9]{2})/\1\2/g' file.txt

フラグを追加-iして、変更をファイルに直接書き込むことができます。

于 2012-08-09T12:40:40.090 に答える