1. 程式人生 > >printf---格式化並輸出結果到標準輸出。

printf---格式化並輸出結果到標準輸出。

printf命令格式化並輸出結果到標準輸出。

語法

printf(選項)(引數)
--help:線上幫助;
--version:顯示版本資訊。

引數

  • 輸出格式:指定資料輸出時的格式;
  • 輸出字串:指定要輸出的資料。

格式替代符

  • %b 相對應的引數被視為含有要被處理的轉義序列之字串。
  • %c ASCII字元。顯示相對應引數的第一個字元
  • %d, %i 十進位制整數
  • %e, %E, %f 浮點格式
  • %g %e或%f轉換,看哪一個較短,則刪除結尾的零
  • %G %E或%f轉換,看哪一個較短,則刪除結尾的零
  • %o 不帶正負號的八進位制值
  • %s 字串
  • %u 不帶正負號的十進位制值
  • %x 不帶正負號的十六進位制值,使用a至f表示10至15
  • %X 不帶正負號的十六進位制值,使用A至F表示10至15
  • %% 字面意義的%

轉義序列

  • \a 警告字元,通常為ASCII的BEL字元
  • \b 後退
  • \c 抑制(不顯示)輸出結果中任何結尾的換行字元(只在%b格式指示符控制下的引數字串中有效),而且,任何留在引數裡的字元、任何接下來的引數以及任何留在格式字串中的字元,都被忽略
  • \f 換頁(formfeed)
  • \n 換行
  • \r 回車(Carriage return)
  • \t 水平製表符
  • \v 垂直製表符
  • \\ 一個字面上的反斜槓字元
  • \ddd 表示1到3位數八進位制值的字元,僅在格式字串中有效
  • \0ddd 表示1到3位的八進位制值字元

例項

printf "hello world"
#!/bin/bash

printf "%-5s %-10s %-4s\n" NO Name Mark
printf "%-5s %-10s %-4.2f\n" 01 Tom 90.3456
printf "%-5s %-10s %-4.2f\n" 02 Jack 89.2345
printf "%-5s %-10s %-4.2f\n" 03 Jeff 98.4323
  • %-5s 格式為左對齊且寬度為5的字串代替(-表示左對齊),不使用則是又對齊。
  • %-4.2f 格式為左對齊寬度為4,保留兩位小數。