新聞中心
printf命令模仿了C語言中的printf()函數(shù)。主要作用是輸出文本,按照我們指定的格式輸出文本。還有一個(gè)輸出文本的命令echo,在輸出文本時(shí),echo會(huì)換行。printf命令不會(huì)對(duì)輸出文本進(jìn)行換行。

語法格式:
# printf 格式 參數(shù)
下面是一個(gè)例子:
[root@localhost ~]# printf "姓名:%s\n身高:%dcm\n體重:%dkg\n" "小明" "180" "75"
姓名:小明
身高:180cm
體重:75kg
"姓名:%s\n身高:%dcm\n體重:%dkg\n"是格式,"小明" "180" "75"是參數(shù)。格式包含了%s , %d都是格式轉(zhuǎn)換符,%d對(duì)應(yīng)的參數(shù)必須是十進(jìn)制數(shù)。%s對(duì)應(yīng)的參數(shù)必須是字符串。還包括了三個(gè)\n換行符,printf命令默認(rèn)不會(huì)添加還行符號(hào),需要手動(dòng)添加。
常用的轉(zhuǎn)義字符
-
\"– 轉(zhuǎn)義后的雙引號(hào)
-
\\– 轉(zhuǎn)義后的反斜杠
-
\b– 退格符
-
\n– 換行符
-
\r– 回車符
-
\t– 水平制表符
-
\v– 垂直制表符
-
%%– 單個(gè)%符號(hào)
常用的類型轉(zhuǎn)換符
類型轉(zhuǎn)換說明符是一個(gè)字符,用于指定如何解釋相應(yīng)的參數(shù),該字符是必需添加的,以下是顯示所有類型轉(zhuǎn)換及其作用的列表:
-
%d– 將參數(shù)打印為十進(jìn)制整數(shù)
-
%f– 將參數(shù)打印為浮點(diǎn)數(shù)
-
%s– 將參數(shù)打印為字符串
-
%x– 將參數(shù)打印為十六進(jìn)制整數(shù)
-
%o– 將參數(shù)打印為八進(jìn)制整數(shù)
實(shí)例
實(shí)例一
該例子使用%d,%x,%o將后面提供的參數(shù)轉(zhuǎn)化為十進(jìn)制、十六進(jìn)制、八進(jìn)制。
[root@localhost ~]# printf "Decimal: %d\nHex: %x\nOctal: %o\n" 100 100 100
Decimal: 100
Hex: 64
Octal: 144
實(shí)例二
下面例子使用%.2f,其中.2指參數(shù)保留兩位小數(shù),f將參數(shù)打印為浮點(diǎn)數(shù)。
[root@localhost ~]# printf "%.2f\n" 3.1415926
3.14
實(shí)例三
下面例子中使用了水平制表符\t。例子中給的參數(shù)超過了格式中給出的轉(zhuǎn)換符的數(shù)量,多出的參數(shù)仍會(huì)按照格式輸出。
[root@localhost ~]# printf "%s \t %s \t %s\n" "姓名" "性別" "年齡" "小明" "男" "18" "小紅" "女" "19" "小藍(lán)" "男" "18"
姓名 性別 年齡
小明 男 18
小紅 女 19
小藍(lán) 男 18
實(shí)例四
實(shí)例中,%-10s , %-8d其中-表示靠左對(duì)齊,默認(rèn)情況下是靠右對(duì)齊。10和8表示占用10或者8個(gè)字符寬度。\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" "小藍(lán)" "19"
本文題目:詳解Linux中printf命令
網(wǎng)頁鏈接:http://m.fisionsoft.com.cn/article/dpoosgp.html


咨詢
建站咨詢
