首页 > 解决方案 > 在 Bash 脚本中,如何以逗号分隔的方式打印带有字符和数字变量的字符串?

问题描述

使用 bash 脚本,我需要向终端打印一个字符串,该字符串使用一个存储数字的变量,但如果需要,该变量可以用逗号分隔打印。

例如,如果我有一个值为 1000 的变量,我想在终端上打印如下内容:

“计数等于 1,000”

我试图弄清楚我是否可以用一个 printf 命令来做到这一点。是否有 printf 的格式化选项可以做到这一点,或者有没有办法操纵变量,以便我可以将其转换为逗号分隔的字符串?

标签: stringbashscripting

解决方案


尝试这个:

printf "%'d" $MYVAR

如果最后需要换行,请执行以下操作:

printf "%'d\n" $MYVAR

全部一起:

printf "Count is equal to %'d\n" $MYVAR

如果您使用的是 Mac,则可能需要安装coreutils. 我建议用Homebrew来做这件事:brew install coreutils

根据@KamilCuk,重要的是要注意逗号/小数分隔与数字是基于您的本地化。如果你想改变它,你可以按照这个答案这样做:https ://stackoverflow.com/a/12845640/6246128


推荐阅读