linux printf

printf 命令的语法:

printf  format-string  [arguments...]
参数说
  • format-string: 一个格式字符串,它包含普通文本和格式说明符。

  • arguments: 用于填充格式说明符的参数列表。。
    格式说明符由 % 字符开始,后跟一个或多个字符,用于指定输出的格式。常用的格式说明符包括:

    • %s:字符串
    • %d:十进制整数
    • %f:浮点数
    • %c:字符
    • %x:十六进制数
    • %o:八进制数
    • %b:二进制数
    • %e:科学计数法表示的浮点数

案例

保留2位小数

price=36

# %s 的缺点,不能保留2位小数
printf "价格:%s  \n"  $price

# %f 的缺点,小数太多
printf "价格:%f  \n"  $price

# .2的作用,保留2位小数,如果是整数,后面会填上.00
printf "价格:%.2f  \n"  $price

左侧补空格

printf "价格:%6.2f  \n"  $price

执行结果:

价格:  36.00
解释:
  • .2:表示保留2位小数,即:36.00 (注意是5位, “.”占1位)
  • 6:表示,不足6位,要在左侧补空格,即:36.00是5位,所以要补1个空格,才算6位

右侧补空格

price=36
printf "价格:%-7.2f元  \n"  $price

执行结果:

价格:36.00  元
解释:
  • .2:表示保留2位小数,即:36.00 (注意是5位, “.”占1位)
  • 7:表示,不足7位,要补空格,即:36.00是5位,所以要补2个空格,才算7位
  • -:表示在右侧补空格

原文出处:/show_1GW83DRvCoB.html