shell文本过滤编程(五):awk之printf
来源:互联网 发布:联通网络服务商电话 编辑:程序博客网 时间:2024/05/21 08:56
【版权声明:转载请保留出处:blog.csdn.net/gentleliu。Mail:shallnew at 163 dot com】
在大多数情况下 awk 的 print 语句可以完成任务,但有时我们还需要更多。在那些情况下,awk 提供了两个我们熟知的函数 printf() 和 sprintf()。是的,如同其它许多 awk 部件一样,这些函数等同于相应的 C 语言函数。printf() 会将格式化字符串打印到 stdout,而 sprintf()函数返回根据printf格式说明指定的格式化的字符串,它格式化数据但不输出数据。a w k提供函数p r i n t f,拥有几种不同的格式化输出功能。例如按列输出、左对齐或右对齐方式。
printf()函数基本语法是printf()(”格式控制符“,参数) ,格式控制字符通常在引号里。类似C语言,awk printf格式有如下:
% c A S C I I字符
% d 整数
% e 浮点数,科学记数法
% f 浮点数,例如(1 2 3 . 4 4)
% g awk决定使用哪种浮点数转换 e或者f
% o 八进制数
% s 字符串
% x 十六进制数
下面来试试这些个格式:
在大多数情况下 awk 的 print 语句可以完成任务,但有时我们还需要更多。在那些情况下,awk 提供了两个我们熟知的函数 printf() 和 sprintf()。是的,如同其它许多 awk 部件一样,这些函数等同于相应的 C 语言函数。printf() 会将格式化字符串打印到 stdout,而 sprintf()函数返回根据printf格式说明指定的格式化的字符串,它格式化数据但不输出数据。a w k提供函数p r i n t f,拥有几种不同的格式化输出功能。例如按列输出、左对齐或右对齐方式。
printf()函数基本语法是printf()(”格式控制符“,参数) ,格式控制字符通常在引号里。类似C语言,awk printf格式有如下:
% c A S C I I字符
% d 整数
% e 浮点数,科学记数法
% f 浮点数,例如(1 2 3 . 4 4)
% g awk决定使用哪种浮点数转换 e或者f
% o 八进制数
% s 字符串
% x 十六进制数
下面来试试这些个格式:
# echo 97 | awk '{printf("%c\n", $0)}' A像C语言一样,换行需要加“\n”。
# echo 97 | awk '{printf("%d\n", $0)}'97# echo 97 | awk '{printf("%f\n", $0)}'97.000000# echo 97 | awk '{printf("%e\n", $0)}'9.700000e+01# echo 97 | awk '{printf("%s\n", $0)}'97类似C语言的格式化输出:
# awk 'BEGIN{FS=":"}{printf("%-15s%s\n", $1, $3)}' group_file2wireshark 987usbmon 986jackuser 985vboxusers 984aln 1001sprintf()函数返回根据printf格式说明指定的格式化的字符串,它格式化数据但不输出数据。所以需要将sprintf返回的数据保存在变量里面再输出。
# awk 'BEGIN{FS=":";ORS=""}{var=sprintf("%s\n", $1);print var}' group_file2wiresharkusbmonjackuservboxusersaln其他的用法和C语言类似。
2 0
- shell文本过滤编程(五):awk之printf
- shell文本过滤编程(二):awk之基础
- shell文本过滤编程(三):awk之条件判断
- shell文本过滤编程(七):awk之变量传递
- shell文本过滤编程(八):awk之内置函数
- shell文本过滤编程(八):awk之内置函数
- shell文本过滤编程(七):awk之变量传递
- shell之文本过滤(awk)
- shell之文本过滤(awk)
- shell之文本过滤(awk)
- shell文本过滤编程(六):awk之循环判断及数组
- Shell编程第十七弹——使用awk过滤文本
- Linux Shell 脚本编程(8)—文本过滤(awk命令)
- shell文本过滤编程(四):awk内置变量及一般变量
- Shell编程之文本过滤笔记
- shell编程之文本与日志过滤
- shell之文本过滤(正则表达式)
- shell之文本过滤(grep)
- SSH证书登录方式(无密码验证登录)
- 数据库—SQL—数据库安全性
- 银行业务调度系统分析设计和Java代码的实现
- 详解互联网产品开发中的“快”字诀
- swift中tableview的使用和注意事项
- shell文本过滤编程(五):awk之printf
- 毕业三年差距是如何产生的
- ios7 Storyboard教程1
- GLabel GRect GOval GLine GCanvas GArc GImage GPolygon GCompound 未写完
- [cs105] nums.length&nums[i]
- ios7 Storyboard教程2
- LeetCode OJ算法题(六十六):Valid Number
- Android架构宏观理解和Android四个重要组件概念
- DEV GridView嵌套