您的位置:首页 > 运维架构 > Shell

printf命令

2013-06-17 09:54 344 查看
printf命令printf是一个把从标准输入的字符按照你所要求的格式输出到标准输出即屏幕的命令.在很多时候,我们可能需要将自己的数据给他格式化输出的。例如考试分数的输出:假设有一个文件test.txt记录着考试分数,内容如下图所示:


上表的数据主要分成五个字段,各个字段之间可使用 tab 或空格键进行分隔。
printf命令格式:
printf '打印格式' 实际内容
关于格式方面的几个特殊样式



接下来我们来进行几个常见的练习。假设所有的数据都是一般文字 (这也是最常见的状态),因此最常用来分隔数据的符号就是 [Tab] 。因为 [Tab] 按键可以将数据作个整齐的排列!那么如何利用 printf 命令?参考底下这个范例:




如上所示,printf命令的输出结果并没有对齐,%s代表一个不固定长度的字符串,而字符串与字符串中间就以 \t 这个 [tab] 分隔符来处理。既然每个字段的长度不固定会造成上述的困扰,那我将每个字段固定就好啦。

将test.txt文件中的内容,分别以字符串、整数、小数点来显示:



上面的格式共分为五个字段, %10s 代表的是一个长度为 10 个字符的字符串字段,%5i 代表的是长度为 5 个字符的数字字段,至于那个 %8.2f 则代表长度为 8 个字符的具有小数点的字段,其中小数点有两个字符宽度;全部的宽度仅有 8 个字符,整数部分占有 5 个字符,小数点本身 (.) 占一位,小数点后的位数则有两位。
printf 除了可以格式化处理之外,他还可以依据ASCII 的数字与字符对应来显示数据,举例来说 16 进位的 55 可以得到什么 ASCII 的显示字符?


内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息