溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Linux常用命令printf怎么用

發(fā)布時間:2022-02-17 10:35:36 來源:億速云 閱讀:301 作者:小新 欄目:開發(fā)技術

小編給大家分享一下Linux常用命令printf怎么用,希望大家閱讀完這篇文章之后都有所收獲,下面讓我們一起去探討吧!

Linux常用命令printf 命令模仿 C 程序庫(library)里的 printf() 程序,printf 由 POSIX 標準所定義,因此使用 printf 的腳本比使用 echo 移植性好。

Linux常用命令printf怎么用

語法格式:

 # printf 格式 參數(shù)

實例

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

Linux常用命令printf怎么用 "姓名:%s\n身高:%dcm\n體重:%dkg\n"是格式,"小明" "180" "75"是參數(shù)。格式包含了%s , %d都是格式轉換符,%d對應的參數(shù)必須是十進制數(shù)。%s對應的參數(shù)必須是字符串。還包括了三個\n換行符,printf命令默認不會添加還行符號,需要手動添加。

常用的轉義字符

  • \" – 轉義后的雙引號

  • \\ – 轉義后的反斜杠

  • \b – 退格符

  • \n – 換行符

  • \r – 回車符

  • \t – 水平制表符

  • \v – 垂直制表符

  • %% – 單個%符號

常用的類型轉換符

類型轉換說明符是一個字符,用于指定如何解釋相應的參數(shù),該字符是必需添加的,以下是顯示所有類型轉換及其作用的列表:

  • %d – 將參數(shù)打印為十進制整數(shù)

  • %f – 將參數(shù)打印為浮點數(shù)

  • %s – 將參數(shù)打印為字符串

  • %x – 將參數(shù)打印為十六進制整數(shù)

  • %o – 將參數(shù)打印為八進制整數(shù)

實例

實例一

該例子使用%d,%x,%o將后面提供的參數(shù)轉化為十進制、十六進制、八進制。

 [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ù)超過了格式中給出的轉換符的數(shù)量,多出的參數(shù)仍會按照格式輸出。

 [root@localhost ~]# printf "%s \t %s \t %s\n" "姓名" "性別" "年齡" "小明" "男" "18" "小紅" "女" "19" "小藍" "男" "18"
 姓名   性別   年齡
 小明   男   18
 小紅   女   19
 小藍   男   18

Linux常用命令printf怎么用

實例四

實例中,%-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"

Linux常用命令printf怎么用

看完了這篇文章,相信你對“Linux常用命令printf怎么用”有了一定的了解,如果想了解更多相關知識,歡迎關注億速云行業(yè)資訊頻道,感謝各位的閱讀!

向AI問一下細節(jié)

免責聲明:本站發(fā)布的內容(圖片、視頻和文字)以原創(chuàng)、轉載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權內容。

AI