在Unix中给数字加逗号,需要把1234567
改成1,234,567
在 sed
或 awk
中可以吗?如果是这样,请提供一些示例。
最佳答案
$ LC_NUMERIC=en_US
$ printf "%'.f" 1234567
1,234,567
由 jim mcnamara 提供:语言环境决定千位分隔符会发生什么。
$ export LC_NUMERIC="en_US.UTF-8"
$ printf "%'f\n" 1234567.777
1,234,567.777000
$ export LC_NUMERIC=C
$ printf "%'f\n" 1234567.777
1234567.777000
最后一个没有逗号。你的结果没有逗号。你明白为什么了吗?语言环境 LC_NUMERIC 设置就是您的答案。 C 语言环境没有千位分隔符。我猜你的语言环境也没有。
关于linux - 在 Unix 中向数字字符串添加逗号,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14668094/