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 .