文章目录
- 概述:
- 常用格式:
- 实例:
- 面试题
- printf 命令的功能:
- 一些常用的空白符
- 输出两位浮点数:
- %s的占位符
- 格式化输出文本
概述:
printf 命令的功能:
格式化打印数据,默认打印字符串不换行
常用格式:
%s : 一个字符串
%d,%i : 一个小数 %f : 一个浮点数 %ns 输出字符串,n是输出几个字符 %m.nf 输出浮点数,m是输出的整数位数,n是输出的小数位数 %x 不带正负号的十六进制,使用a到f表示10到15 %X 不带正负号的十六进制,使用A到F表示10到15 %% 标书输出单个% %-5s 左对齐,对参数每个字段左对齐,宽度为5 %-4.2f 左对齐,宽度为4 ,保留两位小数。 如: %8.2f代表共输出8位数,其中2位是小数,6为是整数 %5s 右对齐,不加横线表示右对齐一些常用的空白符
\n 换行
\a 输出警告声音 \r 回车 \t 水平指标符 \f 清楚屏幕 \v 垂直输出退格键,也就是tab键 \t 水平输出退格键,也就是tab键实例:
[root@ecs-s6-small-1-Linux-20191023111300 ~]# printf '%s\t %s\t %s\t %s\t %s\t %s\t\n' $(cat test)i like Linux you like python if i like python can you like Linux linx 123 88 86 89.4 1 99 gao 83 93 91.66 2 python 56.3 55.33 33 [root@ecs-s6-small-1-Linux-20191023111300 ~]#
注: printf命令中的单引号输入的任何空格都不会反映到格式输出中,只有格式输出的符号才会影响到prinf命令的输出结果
输出两位浮点数:
[root@-Linux-20191023111300 ~]# printf "%.2f\n" 123.4567123.46
%s的占位符
[root@ecs-s6-smal~]# printf "%s %s %s " a b c d e f g h i ja b c d e f g h i j
面试题
格式化输出文本
[root@ecs-s6-small-1-Linux-20191023111300 ~]# sh test.sh 姓名 性别 身高 杨紫 女 1.73 杨过 男 1.77 杨树 女 1.69[root@ecs-s6-small-1-Linux-20191023111300 ~]# cat test.shprintf "%-10s %-8s %-4s\n" 姓名 性别 身高 printf "%-10s %-8s %-4.2f\n" 杨紫 女 1.732printf "%-10s %-8s %-4.2f\n" 杨过 男 1.772 printf "%-10s %-8s %-4.2f\n" 杨树 女 1.693
精彩评论