linux中printf命令%s,Linux中printf命令的使用方法介绍

今天小编要跟大家分享的文章是关于Linux中printf命令的使用方法介绍。在编写shell脚本时,我们使用echo打印到标准输出。echo是一个简单的命令,但其功能有限,想要更好的控制输出格式,可以使用printf命令。下面来和小编一起看一看printf命令的使用方法吧!

一、printf的语法格式

# printf 格式 参数

下面是一个例子:

[root@localhost ~]# printf "姓名:%s\n身高:%dcm\n体重:%dkg\n" "小明" "180" "75"

姓名:小明

身高:180cm

体重:75kg

c1456a71100e3d9c1bd643d5c06382d6.png

"姓名:%s\n身高:%dcm\n体重:%dkg\n"是格式,"小明" "180" "75"是参数。格式包含了%s , %d都是格式转换符,%d对应的参数必须是十进制数。%s对应的参数必须是字符串。还包括了三个\n换行符,printf命令默认不会添加还行符号,需要手动添加。

二、常用的转义字符

·        \" -转义后的双引号

·        \\ -转义后的反斜杠

·        \b -退格符

·        \n -换行符

·        \r -回车符

·        \t -水平制表符

·        \v -垂直制表符

·        %% -单个%符号

三、常用的类型转换符

类型转换说明符是一个字符,用于指定如何解释相应的参数,该字符是必须添加的,以下是显示所有类型转换及其作用的列表:

·        %d -将参数打印为十进制整数

·        %f -将参数打印为浮点数

·        %s -将参数打印为字符串

·        %x -将参数打印为十六进制整数

·        %o -将参数打印为八进制整数

四、实   例

实例一该例子使用%d,%x,%o将后面提供的参数转化为十进制、十六进制、八进制。

[root@localhost ~]# printf "Decimal: %d\nHex: %x\nOctal: %o\n" 100 100 100

Decimal: 100

Hex: 64

Octal: 144

实例二下面例子使用%.2f,其中.2指参数保留两位小数,f将参数打印为浮点数。

[root@localhost ~]# printf "%.2f\n" 3.1415926

3.14

实例三下面例子中使用了水平制表符\t。例子中给的参数超过了格式中给出的转换符的数量,多出的参数仍会按照格式输出。

[root@localhost ~]# printf "%s \t %s \t %s\n" "姓名" "性别" "年龄" "小明" "男" "18" "小红" "女" "19" "小蓝" "男" "18"

姓名   性别   年龄

小明   男   18

小红   女   19

小蓝   男   18

e1db220eed15a6ecb5de9b780e561aee.png

实例四实例中,%-10s , %-8d其中-表示靠左对齐,默认情况下是靠右对齐。10和8表示占用10或者8个字符宽度。\e[1,30;47m ..... \e[0m表示使用粗体字、黑色字体、白色背景,后面的\e[0,m表示重置。

[root@localhost ~]# cat p.sh

#!/bin/bash

printf "\e[1;30;47m%-10s %-10s\e[0m\n" "姓名" "年龄"

printf "\e[36;47m%-10s %-8d\e[0m\n" "小明" "18"

printf "\e[31;47m%-10s %-8d\e[0m\n" "小红" "19"

printf "\e[34;47m%-10s %-8d\e[0m\n" "小蓝" "19"

2fd5f444f82b62d3436320607882be87.png

以上就是小编今天为大家分享的关于Linux中printf命令的使用方法介绍的文章,希望本篇文章能够对正在从事Linux运维工作的小伙伴们有所帮助,想要了解更多Linux相关知识记得关注达内Linux培训官网,最后祝愿小伙伴们工作顺利,成为一名优秀的Linux运维工程师。

文章来源于Linux就该这么学 ,作者逄增宝

【免责声明:本文图片及文字信息均由小编转载自网络,旨在分享提供阅读,版权归原作者所有,如有侵权请联系我们进行删除。】

  • 1
    点赞
  • 18
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值