歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
您现在的位置: Linux教程網 >> UnixLinux >  >> Linux編程 >> Linux編程

AIX下awk語言的輸出函數printf

輸出函數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}' 

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