小知识:Linux中终端打印命令 printf

4 篇文章 0 订阅
3 篇文章 0 订阅

在linux终端中 printf 可用于终端打印,该命令使用的参数和c语言中的printf函数一样
用来格式化输出

基本格式

printf [format] [arguments]

常用替换符

%s 字符串
%f 浮点格式
%c ASCII字符,即显示对应参数的第一个字符
%d %i 十进制整数
%o 八进制值
%u 不带正负号的十进制值
%x 十六进制值(a-f)
%X 十六进制值(A-F)
%% 表示%本身

举例

例如下面脚本

#!/bin/bash
#文件名:printf.sh
printf "%-5s %-10s %-4s\n" No Name Mark
printf "%-5s %-10s %-4.2f\n" 1 Sarath 80.3456
printf "%-5s %-10s %-4.2f\n" 2 James 90.9989
printf "%-5s %-10s %-4.2f\n" 3 Jeff 77.564

执行该脚本生成结果如下图所示
在这里插入图片描述
%-5s指明了一个格式为左对齐且宽度为5的字符串替换( - 表示左对齐)。如果不指明 - ,字符串就采用右对齐形式。宽度指定了保留给某个字符串的字符数量。对Name而言,其保留宽度是10。因此,任何Name字段的内容都会被显示在10字符宽的保留区域内,如果内容不足10个字符,余下的则以空格填充。
对于浮点数,可以使用其他参数对小数部分进行舍入(round off)。

对于Mark字段,我们将其格式化为%-4.2f,其中.2指定保留两位小数。注意,在每行的格
式字符串后都有一个换行符(\n)。4是指最小宽度为4个字符宽(包括小数点在内)。

选自图书《LinuxShell脚本攻略.第3版》

  • 2
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值