shell指令碼之printf命令列印技巧

2021-10-12 08:08:39 字數 932 閱讀 4955

printf 命令模仿 c 程式庫(library)裡的 printf() 程式。printf 由 posix 標準所定

義,因此使用 printf 的指令碼比使用 echo 移植性好。printf 使用引用文字或空格分隔的

引數,外面可以在 printf 中使用格式化字串,還可以制定字串的寬度、左右對齊方

式等。預設 printf 不會像 echo 自動新增換行符,我們可以手動新增 \n

printf format-string [arguments...]
例:

printf

"hello shell\n"

printf

"%-10s"

read

$1printf

"%-10s %-8s %-4.2f\n" lzs cool 48.6543

讀取輸入的乙個引數並列印成字串

%-10s 指乙個寬度為 10 個字元(-表示左對齊,沒有則表示右對齊),任何字元都會被顯示 在 10 個字元寬的字元內,如果不足則自動以空格填充,超過也會將內容全部顯示出來。 %-4.2f 指格式化為小數,其中.2 指保留 2 位小數

1.\a—警告字元,通常為ascii的bel字元

2.\b—後退

3.\c—抑制(不顯示)輸出結果中任何結尾的換行字元(只在%b 格式指示符控制下的

引數字串中有效),而且,任何留在引數裡的字元、任何接下來的引數以及任

何留在格式字串中的字元,都被忽略

4.\f—換頁

5.\n—換行

6.\r—回車

7.\t水平製表符

8.\v垂直製表符

9.\乙個字面上的反斜槓字元

10.\ddd表示1到3位數的八進位制字元,僅在格式字串中有效

11.\0ddd表示1到3位的八進位制字元

shell指令碼之printf用法

shell指令碼中的printf和c語言中的printf用法基本一致,只是在寫法上有些許區別 root algento 1 cat printf test.sh bin bash printf hello world root algento 1 sh printf test.sh hello wo...

34 shell程式設計 awk之printf命令

格式符含義 s列印字串 d列印十進位制數 f列印浮點數 x列印十六進製制數 o列印八進位制數 e列印數字的科學計數法形式 c列印單子字元的ascii碼 左對齊 右對齊 1.已字串的格式列印 etc passwd的第7個字段,已 作為分隔符號 awk begin etc passwd 2.已10進製的...

shell指令碼嵌入expect和awk命令

網上查了好多資料 感覺也沒怎麼看明白 哭暈在廁所 我這智商是不是得轉產品去了額。主要是因為寫了好幾個版本 最後把能用的都改瞎了 看來還得再寫幾個別的 總結總結才好 總之 注意幾點 1 expect 塊裡面末尾需要寫 interact 但是我寫了這句話不太好使 可能是因為有eof的原因?或 send ...