歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux編程 >> Linux編程 >> AIX下awk語言的輸出函數printf

AIX下awk語言的輸出函數printf

日期:2017/3/1 10:06:33   编辑:Linux編程

輸出函數printf:printf([format_control_flg],arg)
printf修飾符
——————————————————————————————————————————————————
- 左對齊
Width 域的步長,0表示0步長
.prec 最大字符串長度,或小數點左邊的位數
——————————————————————————————————————————————————

printf格式
————————————————————————————————————————————————————
%c ASCII字符
%d 整數
%e 浮點數,科學計數法,如:12.3×10e4
%f 浮點數,如:123.45
%g awk決定使用哪種浮點數轉換e或者f
%o 八進制數
%s 字符串
%x 十六進制
————————————————————————————————————————————————————
1.字符轉換
echo "65" | awk '{printf "%c\n",$0}'
A
awk 'BEGIN{ printf "%c %c %c %c %c#%c\n",92,93,94,95,96,97}'
\ ] ^ _ `#a
awk 'BEGIN{printf "%f\n",0}'
0.000000
awk 'BEGIN{printf "%f\n",1.0215}'
1.021500

2.格式化輸出
逐行打印格式化數據:
awk '{printf "%-15s %s\n",$1,$3}' grade.txt
M.Tansley 48311
J.Lulu 48317
P.Bunny 48
J.Troll 4842
L.Tansley 4712
awk 'BEGIN{printf "Name \t\tS.Number\n"}{printf "%-15s %s\n",$1,$3}' grade.txt
Name S.Number
M.Tansley 48311
J.Lulu 48317
P.Bunny 48
J.Troll 4842
L.Tansley 4712

3.向一行awk命令傳值
awk 命令變量 = 輸入值
awk '{if ($5<AGE) print $0}' AGE=10 grade.txt
M.Tansley 05/99 48311 Green 8 40 44
J.Lulu 06/99 48317 green 9 24 26

字符串屏蔽序列
—————————————————————————————
\b 退格鍵
\f 走紙換頁
\n 換行
\r 回車鍵
\r tab鍵
\ddd 八進制
\c 任意其他字符
—————————————————————————————
awk 'BEGIN{print "May\tDay\n\nMay \104\141\171"}'
May Day

May Day
\104:D的八進制ASCII碼
\141:a的八進制ASCII碼
\171:y的八進制ASCII碼

Copyright © Linux教程網 All Rights Reserved