日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

printf 命令详解

發布時間:2025/6/15 编程问答 26 豆豆
生活随笔 收集整理的這篇文章主要介紹了 printf 命令详解 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

printf 命令

作用:按照我們指定的格式輸出文本

語法格式

printf "FORMAT" , item1, item2, ...printf的工作原理: 將printf后面的item作為參數逐個傳遞給"FORMAT"進行格式化后輸出(1) 必須指定FORMAT, (2) 不會自動換行,需要顯式給出換行控制符,\n (3) FORMAT可以有多個,但是必須與后面的每個item指定格式符#printf "%s\n%s\n%s\n%4.2f\n%4.2f\n%4.2f\n" I love you 11 12.2 13.35一共6個item,所以就是必須有6個FORMAT。如果FORMAT數量少于item數量,則FORMAT的個數控制一次傳多少個item處理。比如:#printf "%7s %7s\n" I love you 11 12.2 13.35 2個FROMAT 6個item,一次傳2個處理I loveyou 1112.2 13.35格式符:與item一一對應 %c: 顯示字符的ASCII碼 %d, %i: 顯示十進制整數#printf "%g\n" -1 10 100.15 123.14-110100.15123.14%e, %E:顯示科學計數法數值#printf "%e\n" A -1 10 100.15 123.14-bash: printf: A: invalid number0.000000e+00-1.000000e+001.000000e+011.001500e+021.231400e+02%f:顯示為浮點數#printf "%f\n" A -1 10 100.15 123.14-bash: printf: A: invalid number0.000000-1.00000010.000000100.150000123.140000%g, %G:以科學計數法或浮點形式顯示數值printf "%g\n" A -1 10 100.15 123.14-bash: printf: A: invalid number0-110100.15123.14%s:顯示字符串%u:無符號整數#printf "%u\n" A -1 10 100.15 123.14-bash: printf: A: invalid number01844674407370955161510-bash: printf: 100.15: invalid number0-bash: printf: 123.14: invalid number0%o 不帶正負號的八進制值 %u 不帶正負號的十進制值 %x 不帶正負號的十六進制值,使用af表示10至15 %X 不帶正負號的十六進制值,使用AF表示10至15 %%: 顯示%自身? 修飾符: #[.#]:第一個數字控制顯示的寬度;第二個#表示小數點后精度,%3.1f 四舍五入#printf "%-3.1f\n" 10 100.15 123.1410.0100.2123.1-: 左對齊(默認右對齊) %-15s +:顯示數值的正負符號 %+d I love you 11 12.2 13.33 分別用echoprintf 按空格分隔換行輸出來看效果 #echo -e "I\n love\n you\n 11\n 12.2\n 13.33\n" Iloveyou1112.213.33#printf "%s\n" I love you 11 12.2 13.33 I love you 11 12.2 13.33 是不是再也不用頭疼\n換行的逐個設置了?但是,再進行復雜一點的格式化輸出,echo就無法處理了 #printf "%s\n%s\n%s\n%4.2f\n%4.2f\n%4.2f\n" I love you 11 12.2 13.35 I love you 11.00 12.20 13.35

來一些實例:

為傳入的參數增加一對 [] 參數在[ ] 內

#cat mod|xargs printf "[ %s ]\n" [ 周瑜-法師-烽火赤壁 ] [ 不知火舞-法師-必殺·忍蜂 ] [ 鎧-戰士-不滅魔軀 ] #awk -F : '{printf "username:%15s | UID: %10d\n------------------------------------------\n",$1,$3}' /etc/passwd awk -F: '{printf "%-8s %8s",$1 $2}' passwd.txt username: rtkit | UID: 498 ------------------------------------------ username: pulse | UID: 497 ------------------------------------------ username: gdm | UID: 42 ------------------------------------------ username: hunk | UID: 500 ------------------------------------------ 想怎么樣式就輸出

修飾符對于數字的影響

#printf "%.3f\n" 123.456789 1234.56789 123.457 1234.568 當修飾符為%f時,控制小數點后的精度 .3 就是3位小數#printf "%.6d\n" 123 1234 000123 001234 當修飾符為%d時,控制整數的位數,不足的在高位補0 .6 就是6位整數 本文轉自 ljpwinxp 51CTO博客,原文鏈接:http://blog.51cto.com/191226139/2060002

總結

以上是生活随笔為你收集整理的printf 命令详解的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。