printf、awk、sedを使用して、非常に大きな数字を千分の1単位で区切る簡単な方法はありますか?
したがって、10000000000000は10 000 000 000 000になります。
ありがとう
ベストアンサー1
いくつかprintf
の実装(GNUprintf
およびGNUシステムにprintf
組み込まれている、およびksh93
(含まれていない)を含む)の場合、システムにフランス語(少なくともフランス語またはカナダ)、スウェーデン語、スロベニア語、マケドニア語、またはキルギス語のロケールがあるとしますzsh
(そして千単位の区切り記号でスペースを持ついくつかの項目があります。bash
lksh
dash
yash
$ LC_ALL=fr_FR locale -k thousands_sep
thousands_sep=" "
$ LC_ALL=fr_FR printf "%'d\n" 10000000000
10 000 000 000
awk
一部の実装でも機能します。
$ LC_ALL=fr_FR awk 'BEGIN{printf "%'\''d\n", 1e10}'
10 000 000 000
設定されていない場合は、LC_NUMERIC
代わりに使用できます。LC_ALL
LC_ALL