Welcome 微信登录
编程资源 图片资源库 蚂蚁家优选 PDF转换器

首页 / 操作系统 / 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 ",$0}" 

awk "BEGIN{ printf "%c %c %c %c %c#%c ",92,93,94,95,96,97}" 
] ^ _ `#a 
awk "BEGIN{printf "%f ",0}" 
0.000000 
awk "BEGIN{printf "%f ",1.0215}" 
1.021500 
 
2.格式化输出 
逐行打印格式化数据: 
awk "{printf "%-15s %s ",$1,$3}" grade.txt 
M.Tansley     48311 
J.Lulu          48317 
P.Bunny       48 
J.Troll       4842 
L.Tansley     4712 
awk "BEGIN{printf "Name S.Number "}{printf "%-15s %s ",$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 字符串屏蔽序列 
————————————————————————————— 
  退格键 
f  走纸换页 
  换行 
  回车键 
  tab键 
ddd    八进制 
c  任意其他字符 
————————————————————————————— 
awk "BEGIN{print "May Day May 104141171"}" 
May   Day 
 
May Day 
104:D的八进制ASCII码 
141:a的八进制ASCII码 
171:y的八进制ASCII码