printf命令

yepkeepmoving發表於2016-09-25
printf
    printf    [選項]    [引數]
    選項:
    引數:指定輸出格式和輸出內容
    格式控制主要由"% - 0 m.n l或h 格式字元"幾個部分組成,其中%:表示格式說明的起始符號,不可缺少。-:有-表示左對齊輸出,如省略表示右對齊輸出。0:有0表示指定空位填0,如省略表示指定空位不填。m.n:m指域寬,即對應的輸出項在輸出裝置上所佔的字元數。N指精度。用於說明輸出的實型數的小數位數。為指定n時,隱含的精度為n=6位。l或h:l對整型指long型,對實型指double型。h用於將整型的格式字元修正為short型。
    printf示例
    #!/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表示輸出字元佔用有5個字元,如不足則右側補充空格(左對齊右側補,右對齊左側補充空格),如果超出5則按實際輸出,s表示輸出內容以字元形式展示。%4.2f含義解釋為:%表示輸出格式開始,4表示輸出4位數,.2表示精確到兩位小數,f表示浮點數顯示。
    
    備註如下
    格式替代符:
    %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位的八進位制值字元

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/27067062/viewspace-2125530/,如需轉載,請註明出處,否則將追究法律責任。

相關文章