awk脚本
awk脚本通常由以下3部分构成: BEGIN{ 这里面放的是执行前的语句 } END {这里面放的是处理完所有的行后要执行的语句 } {这里面放的是处理每一行时要执行的语句}
假如有以下表:
$ cat score.txt Marry 2143 78 84 77 Jack 2321 66 78 45 Tom 2122 48 77 71 Mike 2537 87 97 95 Bob 2415 40 57 62
统计所有人有总钱数,及平均情况的awk脚本:
#!/bin/awk -f #运行前 BEGIN { math = 0 english = 0 computer = 0 printf "NAME NO. MATH ENGLISH COMPUTER TOTAL/n" printf "---------------------------------------------/n" } #运行中 { math+=$3 english+=$4 computer+=$5 printf "%-6s %-6s %4d %8d %8d %8d/n", $1, $2, $3,$4,$5, $3+$4+$5 } #运行后 END { printf "---------------------------------------------/n" printf " TOTAL:%10d %8d %8d /n", math, english, computer printf "AVERAGE:%10.2f %8.2f %8.2f/n", math/NR, english/NR, computer/NR }
输出结果:
NAME NO. MATH ENGLISH COMPUTER TOTAL -------------------------------------------------- Marry 2143 78 84 77 239 Jack 2321 66 78 45 189 Tom 2122 48 77 71 196 Mike 2537 87 97 95 279 Bob 2415 40 57 62 159 -------------------------------------------------- TOTAL: 319 393 350 AVERAGE: 63.80 78.60 70.00
原创文章,作者:ItWorker,如若转载,请注明出处:https://blog.ytso.com/120419.html