AIX下awk语言的输出函数printf

本文介绍如何使用Awk进行数据格式化输出及字符串处理技巧,包括字符转换、格式化输出方法以及字符串屏蔽序列的应用。通过示例展示了如何利用printf函数实现不同格式的数据输出。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

输出函数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码

--the end--

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值