Linux printf 格式化輸出命令

2021-10-04 18:25:41 字數 1899 閱讀 8133

printf 命令的語法:

printf  format-string  [arguments...

]引數說明:

• format-string #為格式控制字串

• arguments #為引數列表

例子1.

#!

/bin/bash

printf "%-10s %-8s %-4s\n" 姓名 性別 體重kg

printf "%-10s %-8s %-4.2f\n" 郭靖 男 66.1234

printf "%-10s %-8s %-4.2f\n" 楊過 男 48.6543

執行指令碼,輸出結果如下所示:

姓名 性別 體重kg

郭靖 男 66.12

楊過 男 48.65

%s %c %d %f都是格式替代符%-

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

4.2f 指格式化為小數,其中.2指保留2位小數。

例子2.

# format-string為雙引號

printf "%d %s\n"

1"abc"

1 abc

# 單引號與雙引號效果一樣

printf '%d %s\n'

1"abc"

1 abc

# 沒有引號也可以輸出

printf %s abcdef

abcdef

# 格式只指定了乙個引數,但多出的引數仍然會按照該格式輸出,format-string 被重用

printf %s abc def

abcdefabc

printf "%s\n" abc def

abc

defprintf "%s %s %s\n" a b c d e f g

a b c

d e f

g # 如果沒有 arguments,那麼 %s 用null代替,%d 用 0 代替

printf "%s and %d \n"

and 0

printf的轉義序列

| 序列 | 說明 |

| \a | 警告字元,通常為ascii的bel字元 |

| \b | 後退 |

| \c | 抑制(不顯示)輸出結果中任何結尾的換行字元(只在%b格式指示符控制下的引數字串中有效),而且,任何留在引數裡的字元、任何接下來的引數以及任何留在格式字串中的字元,都被忽略 |

| \f | 換頁(formfeed) |

| \n | 換行 |

| \r | 回車(carriage return) |

| \t | 水平製表符 |

| \v | 垂直製表符 |

| \\ | 乙個字面上的反斜槓字元 |

| \ddd | 表示1到3位數八進位制值的字元。僅在格式字串中有效 |

| \0ddd | 表示1到3位的八進位制值字元 |

例項$ printf "a string, no processing:<%s>\n"

"a\nb"

a string, no processing:

$ printf "a string, no processing:<%b>\n"

"a\nb"

a string, no processing:

b>

$ printf "www.runoob.com \a"

www.runoob.com $ #不換行

基礎教程 Python格式化字串(格式化輸出)

print 函式使用以 開頭的轉換說明符對各種型別的資料進行格式化輸出,具體請看下表。表 1 python 轉換說明符 轉換說明符 解釋 d i 轉換為帶符號的十進位制整數 o轉換為帶符號的八進位制整數 x x 轉換為帶符號的十六進製制整數 e轉化為科學計數法表示的浮點數 e 小寫 e轉化為科學計數...

格式化,強調 數值格式化

聚合函式返回的的數值型別的值有個特點就是沒有被格式化。通過前面的帶 sum 聚合函式的示例,我們可以看到這一點 注意合計值 命令,或者在物件檢視器中選中 displayformat 屬性。在上節的示例中,格式化操作是針對一物件或物件內的表示式,在物件內僅有乙個表示式時它還能正常工作,不過當物件內不有...

格式化Date型別資料,並轉換成各種格式輸出

格式化date型別資料,並轉換成各種格式輸出 public class formatdate 將date型別資料轉換成yyyy mm dd hh mm ss型別 public string dateformat1 date date 將date型別資料轉換成yyyy mm dd hh mm ss s...