linux中printf命令,Linux中printf命令使用实例
在編寫shell腳本時,我們使用echo打印到標準輸出。echo是一個簡單的命令,但其功能有限,想要更好的控制輸出格式,可以使用printf命令。
printf的語法格式:
# printf 格式 參數(shù)
下面是一個例子:
[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對應(yīng)的參數(shù)必須是十進制數(shù)。%s對應(yīng)的參數(shù)必須是字符串。還包括了三個\n換行符,printf命令默認不會添加還行符號,需要手動添加。
常用的轉(zhuǎn)義字符
\"- 轉(zhuǎn)義后的雙引號
\\- 轉(zhuǎn)義后的反斜杠
\b- 退格符
\n- 換行符
\r- 回車符
\t- 水平制表符
\v- 垂直制表符
%%- 單個%符號
常用的類型轉(zhuǎn)換符
類型轉(zhuǎn)換說明符是一個字符,用于指定如何解釋相應(yīng)的參數(shù),該字符是必需添加的,以下是顯示所有類型轉(zhuǎn)換及其作用的列表:
%d- 將參數(shù)打印為十進制整數(shù)
%f- 將參數(shù)打印為浮點數(shù)
%s- 將參數(shù)打印為字符串
%x- 將參數(shù)打印為十六進制整數(shù)
%o- 將參數(shù)打印為八進制整數(shù)
實例
實例一
該例子使用%d,%x,%o將后面提供的參數(shù)轉(zhuǎn)化為十進制、十六進制、八進制。
[root@localhost ~]# printf "Decimal: %d\nHex: %x\nOctal: %o\n" 100 100 100
Decimal: 100
Hex: 64
Octal: 144
實例二
下面例子使用%.2f,其中.2指參數(shù)保留兩位小數(shù),f將參數(shù)打印為浮點數(shù)。
[root@localhost ~]# printf "%.2f\n" 3.1415926
3.14
實例三
下面例子中使用了水平制表符\t。例子中給的參數(shù)超過了格式中給出的轉(zhuǎn)換符的數(shù)量,多出的參數(shù)仍會按照格式輸出。
[root@localhost ~]# printf "%s \t %s \t %s\n" "姓名" "性別" "年齡" "小明" "男" "18" "小紅" "女" "19" "小藍" "男" "18"
姓名 性別 年齡
小明 男 18
小紅 女 19
小藍 男 18
實例四
實例中,%-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"
總結(jié)
在編寫shell腳本時,我們使用echo打印到標準輸出。echo是一個簡單的命令,但其功能有限,想要更好的控制輸出格式,可以使用printf命令。
創(chuàng)作挑戰(zhàn)賽新人創(chuàng)作獎勵來咯,堅持創(chuàng)作打卡瓜分現(xiàn)金大獎總結(jié)
以上是生活随笔為你收集整理的linux中printf命令,Linux中printf命令使用实例的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 二十万字C/C++、嵌入式软开面试题全集
- 下一篇: PyQt5中使用代码实现嵌套布局