Atualização: a partir de zsh v. 5.1
, o printf
builtin suporta o agrupamento de milhares por meio de '
, como bash
/ coreutils
printf
(veja também a discussão aqui ).
O separador de milhar é uma extensão GNU que o zsh não suporta e tem seu próprio printf
embutido que você acaba usando em seu lugar. Conforme mencionado na postagem vinculada, você pode obter o separador de milhares dependente de localidade com:
zmodload zsh/langinfo
echo $langinfo[THOUSEP]
Se você precisa usar especificamente e exclusivamente o zsh, você pode usá-lo com sed.
Provavelmente, será mais fácil usar o não integrado printf
do GNU coreutils em vez disso, o que permitirá a opção de separador de milhares se o seu sistema:
$ command printf "%'d\n" 1234567890
1,234,567,890
command printf
diz ao shell não para usar um builtin ou alias, mas para procurar o comando em $PATH
.