3

Unix では数字にコンマを追加します。次のように変更する必要があります12345671,234,567

またはで可能ですsedawk?もしそうなら、いくつかのサンプルを教えてください。

4

2 に答える 2

6
$ LC_NUMERIC=en_US

$ printf "%'.f" 1234567
1,234,567

jim mcnamaraの厚意による: ロケールによって、3 桁ごとの区切り記号がどうなるかが決まります。

$ 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

この最後のものにはコンマがありません。結果にはコンマがありませんでした。理由がわかりましたか?Locale LC_NUMERIC 設定が答えです。C ロケールには千単位の区切り文字がありません。あなたのロケールもそうではないと思います。

于 2013-02-03T01:15:00.160 に答える
0

私はこれを一度使用しました:

echo "1234567890" | \
sed -e ': L
s/\([0-9]\{1,19\}\)\([0-9]\{3\}\)/\1,\2/
t L'

動作するはずです

http://www.linuxquestions.org/questions/programming-9/format-numbers-using-bash-672031/#post4269148

于 2013-02-03T21:32:18.380 に答える