【linux】循序渐进学运维-printf

2021/4/15 7:30:14

本文主要是介绍【linux】循序渐进学运维-printf,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!


文章目录

    • 概述:
    • 常用格式:
    • 实例:
    • 面试题
    • 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


这篇关于【linux】循序渐进学运维-printf的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!


扫一扫关注最新编程教程