awk是一个可用来处理数据和生成报表的工具,也是一门编程语言,特别适合处理内容有规律的文件
目标
给定一个五行的成绩单文件
Mary 2100 80 78 74
Bob 2101 78 85 64
Tom 2102 90 75 79
Mike 2103 68 81 77
Lola 2104 83 92 76
如何用awk制作生成如下格式的表格?
Line name NO. Math English Computer Total
/-----------------------------------------
1 Mary 2100 80 78 74 232
2 Bob 2101 78 85 64 227
3 Tom 2102 90 75 79 244
4 Mike 2103 68 81 77 226
5 Lola 2104 83 92 76 251
/------------------------------------------
Total: 399 411 370
Avg: 79.8 82.2 74.0
命令和脚本
初次写稍微复杂的awk命令,就折腾了一两个小时,学的时候原以为挺简单的,不过第一次练习还是有点困难。最终写出的命令如下:
awk 'BEGIN{sum1=0;sum2=0;sum3=0;print "Line Name No. Math English Computer Total\n";print "---------------------