使用過c語言的程序員,應(yīng)該很熟悉printf命令,printf命令模仿了c語言的printf( )函數(shù)
創(chuàng)新互聯(lián)建站自2013年創(chuàng)立以來,先為哈巴河等服務(wù)建站,哈巴河等地企業(yè),進(jìn)行企業(yè)商務(wù)咨詢服務(wù)。為哈巴河企業(yè)網(wǎng)站制作PC+手機(jī)+微官網(wǎng)三網(wǎng)同步一站式服務(wù)解決您的所有建站問題。
printf命令的作用是按照我們指定的格式輸出文本
看到echo 命令是正常輸出一個(gè)文本進(jìn)行換行,而printf是輸出文本進(jìn)行不換行
[root@zhaocheng ~]# echo beijing
beijing
[root@zhaocheng ~]# printf beijing
beijing[root@zhaocheng ~]#
如果使用printf進(jìn)行換行輸出可以加\n
[root@zhaocheng ~]# printf "beijing\n"
beijing
而printf這么麻煩,但為什么還有人一直在用,它真正的作用是能夠格式化輸出文本的能力
而打印的時(shí)候,echo -e可以使用\n換行進(jìn)行輸出,而printf也可以加\n換行輸出,或者也可以加"%s\n"進(jìn)行輸出
而printf的能力在處理多行進(jìn)行換行的文本時(shí)明顯是比較快,使用\n的時(shí)候如果處理多1000個(gè)需要換行的,顯示echo -e \n 力不從心,也就是%s這個(gè)是代替?zhèn)魅氲膮?shù),%s代替了命令中123,456,當(dāng)我們使用%s\n就會(huì)通過printf輸出格式化成"abc\n" 以此類推這樣都進(jìn)行將后面的進(jìn)行格式化輸出
[root@zhaocheng ~]# echo -e "123 \n456 \n789 \naaa \nbbb \nccc"
123
456
789
aaa
bbb
ccc
[root@zhaocheng ~]# printf "123 \n456 \n789 \naaa \nbbb \nccc"
123
456
789
aaa
bbb
[root@zhaocheng ~]# printf "%s\n" 123 456 789 aaa bbb ccc
123
456
789
aaa
bbb
ccc
printf還支持多種替換符格式化類型
%s 字符串
%f 浮點(diǎn)格式
%b 相對(duì)應(yīng)的參數(shù)中包含轉(zhuǎn)義字符時(shí),可以使用此替換符進(jìn)行替換,對(duì)于的轉(zhuǎn)義字符會(huì)被轉(zhuǎn)義
%c ASCII字符,顯示相對(duì)應(yīng)參數(shù)的第一個(gè)字符
%d %i 十進(jìn)制整數(shù)
%o 不帶正負(fù)號(hào)的八進(jìn)制值
%u 不帶正負(fù)號(hào)的十進(jìn)制值
%x 不帶正負(fù)號(hào)的十六進(jìn)制值,使用a至f表示10至15
%X 不帶正負(fù)號(hào)的十六進(jìn)制值,使用A至F表示10至15
%% 表示“%”本身
轉(zhuǎn)義字符
printf常用的轉(zhuǎn)義符
\a 警告字符,通常為ASCLL的BEL字符
\b 后退
\c 抑制(不顯示) 輸出結(jié)果中任何結(jié)尾的轉(zhuǎn)義字符,(只在%b格式指示符控制下的參數(shù)字符串中有效,而且任何留在參數(shù)里的字符,任何接下來的參數(shù)以及任何留在格式字符串中的字符,都被忽略
\f 換頁
\n 換行
\r 回車
\t 水平制表符
\v 垂直制表符
\ 一個(gè)字面上的反斜杠字符,僅在格式字符串中有效
\0ddd 表示1-3位的八進(jìn)制值字符
比如為每個(gè)傳入的參數(shù)添加一對(duì)括號(hào),并且括號(hào)內(nèi)測(cè)需要有空格
[root@zhaocheng ~]# printf "[%s] " 12 45 67 78 89 ; echo ""
[12] [45] [67] [78] [89]
[root@zhaocheng ~]# printf "[ %s ] " 12 45 67 78 89 ; echo ""
[ 12 ] [ 45 ] [ 67 ] [ 78 ] [ 89 ]
使用\t參數(shù)“制表符”進(jìn)行隔開
[root@zhaocheng ~]# printf "%s\t" 12 45 67 78 89 ; echo ""
12 45 67 78 89
使用\n是換行輸出,%f\n浮點(diǎn)型參數(shù)輸出
[root@zhaocheng ~]# printf "%s\n" 123 45 5676 76
123
45
5676
76
[root@zhaocheng ~]# printf "%f\n" 123 45 5676 76
123.000000
45.000000
5676.000000
76.000000
格式替換符的使用
[root@zhaocheng ~]# printf " %s\n" 12 45 67 78 89 99
12
45
67
78
89
99
[root@zhaocheng ~]# printf "%s %s\n" 12 45 67 78 89 99
12 45
67 78
89 99
[root@zhaocheng ~]# printf "%s %s %s\n" 12 45 67 78 89 99
12 45 67
78 89 99
[root@zhaocheng ~]# printf "%s %s %s %s\n" 12 45 67 78 89 99
12 45 67 78
89 99
[root@zhaocheng ~]# printf "%s %s %s %s %s\n" 12 45 67 78 89 99
12 45 67 78 89
99
[root@zhaocheng ~]# printf "%s %s %s %s %s %s\n" 12 45 67 78 89 99
12 45 67 78 89 99
[root@zhaocheng ~]# printf "12 45 67 78 89 99\n"
12 45 67 78 89 99
使用printf 同樣也可以進(jìn)行顏色輸出
也可以加入特定的數(shù)字,%7s 7表示當(dāng)前替換符對(duì)應(yīng)的輸出寬度為7個(gè)字符寬
網(wǎng)頁名稱:如何使用printf命令處理文本?
文章網(wǎng)址:http://www.rwnh.cn/article28/jdcicp.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站策劃、響應(yīng)式網(wǎng)站、域名注冊(cè)、自適應(yīng)網(wǎng)站、服務(wù)器托管、用戶體驗(yàn)
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)