Linux:printf指令
學習自:Linux printf命令詳解 - 面具下的戲命師 - 博客園
1、說明
用過C語言和Java的應該都知道printf這個格式化輸出函數。
它也被整合為了Linux的一個指令,用于可以自定義格式化輸出的內容。
與echo相比,echo輸出后會換行,printf默認不會,如果有這個需要可以在輸出內容中加\n來實現。
printf通常用在shell腳本中,配合awk實現格式化輸出,詳見:
2、用法
printf 格式化字符串 [參數1 參數2 ……]
實際表現為,會將參數1、參數2、……套入到中間的格式化字符串中,依次輸出。
類似于
for i in [參數1,參數2,……]
printf 格式化字符串
例如
printf "%s\n" aa bb cc dd ee aa bb cc dd ee
3、格式化字符串
輸出類型:以%開頭
輸出類型 |
說明
|
| %c | ASCII字符 |
| %s | 字符串(當只有一個%s時,相當于把后邊參數做for循環輸出;有多個%s則按順序把后邊的參數填到這些%s處) |
| %-ns | 字符串(-表示左對齊,n表示輸出幾個字符) |
| %-ni | 輸出整數,n代表輸出幾個數字 |
| %f | 小數點右邊的位數 |
| %m.nf | 浮點數,m代表全部位數,n代表小數位數 |
| %b | 如果參數中存在轉義字符,可以使用該%b進行格式占位,后續輸出時對應的轉義字符會被轉義 |
| %d、%i | 十進制整數 |
| %o | 不帶正負號的八進制值 |
| %u | 不帶正負號的十進制值 |
| %x | 不帶正負號的十六進制值 |
| %X | 帶正負號的十六進制值(不要據此認為%O和%U是帶正負號的八進制和十進制) |
| %% | 代表%自身 |
輸出特殊格式(換行、占位):以\開頭
輸出格式 |
說明 |
| \a | 輸出警告聲音 |
| \b | 輸出退格鍵 |
| \f | 清除屏幕 |
| \n | 換行 |
| \r | 回車 |
| \t | 水平輸出TAB |
| \v | 垂直輸出TAB |
| \\0\\自身 |

浙公網安備 33010602011771號