Shell--基础--09--printf命令

本文介绍了shell中的printf命令,包括格式控制字符串的使用(如%s、%d和%f),并通过实例展示了如何设置字符串输出格式,以及转义序列在实际输出中的表现。重点讲解了字符串对齐、数值精度控制和转义字符的用法。
摘要由CSDN通过智能技术生成

Shell–基础–09–printf命令


1、介绍

用于字符串的输出。

格式如下:
printf  format-string  [arguments...]

format-string: 为格式控制字符串
arguments: 为参数列表。

1.1、format-string

%s : 输出一个字符串
%d :  整型输出
%c :  输出一个字符
%f :  输出实数,以小数形式输出。

1.2、案例

#!/bin/bash
 
 
 
# %-10s 指一个宽度为10个字符(- 表示左对齐,没有则表示右对齐)
# 任何字符都会被显示在 10 个字符宽的字符内,如果不足则自动以空格填充,超过也会将内容全部显示出来。
printf "%-10s %-8s %-4s\n" 姓名 性别 体重kg  


# %-4.2f 指格式化为小数,其中 .2 指保留2位小数。
printf "%-10s %-8s %-4.2f\n" 郭靖 男 66.1234 
printf "%-10s %-8s %-4.2f\n" 杨过 男 48.6543 
printf "%-10s %-8s %-4.2f\n" 郭芙 女 47.9876


# format-string为双引号
printf "%d %s\n" 1 "abc"

# 单引号与双引号效果一样 
printf '%d %s\n' 1 "abc" 

# 没有引号也可以输出
printf %s abcdef

# 格式只指定了一个参数,但多出的参数仍然会按照该格式输出,format-string 被重用
printf %s abc def

printf "%s\n" abc def

printf "%s %s %s\n" a b c d e f g h i j

# 如果没有 arguments,那么 %s 用NULL代替,%d 用 0 代替
printf "%s and %d \n" 

在这里插入图片描述

2、printf 的转义序列

在这里插入图片描述

2.1、案例1


[root@zhoufei ~]# printf "aaaaaa:<%s>\n" "A\nB" 
aaaaaa:<A\nB>


[root@zhoufei ~]# printf "aaaaaa:<%b>\n" "A\nB" 
aaaaaa:<A
B>

# 不换行
[root@zhoufei ~]# printf "aaaaaa\a"
aaaaaa[root@zhoufei ~]# 



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值