gawkで巨大なファイルを処理する必要があります。私の主な問題は、千のセパレーターを使用していくつかのフロートを印刷する必要があることです。例:出力のように10000
表示され10.000
ます。10000,01
10.000,01
私(そしてグーグル)はこの関数を思いついたが、これはフロートでは失敗する:
function commas(n) {
gsub(/,/,"",n)
point = index(n,".") - 1
if (point < 0) point = length(n)
while (point > 3) {
point -= 3
n = substr(n,1,point)"."substr(n,point + 1)
}
sub(/-\./,"-",n)
return d n
}
しかし、それはフロートで失敗します。
今、私は入力を整数と<1の部分に分割し、整数をフォーマットした後、それらを再度接着することを考えていますが、それを行うためのより良い方法はありませんか?
免責事項:
- 私はプログラマーではありません
- 私はいくつかのシェル環境を介してそれを知っています。変数千の区切り文字を設定できますが、言語やロケールの設定が異なるさまざまな環境で機能する必要があります。
- 英語は私の第二言語です、間違って使用している場合は申し訳ありません