AIX下awk语言的输出函数printf



AIX下awk语言的输出函数printf
 
[plain]   www.2cto.com  
输出函数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  
 
[plain] 
字符串屏蔽序列  
—————————————————————————————  
\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码  
--the end--

相关内容

    暂无相关文章