AWK Programming Language examples
# $3 > 5 {
# emp = emp + 1
# names = names $1 " "
# }
# END {
# print emp "个人的工时超过了5小时,他们是" names;
# }
# 计算平均薪资,注意NR为0的情况未处理
# -----------------------------------
# {
# pay = pay + $2 * $3
# }
# END {
# print "共有"NR"个员工";
# print "总共薪资为", pay;
# print "平均薪资为", pay / NR;
# }
# 计算时薪最高的雇员
# ------------------
# $2 > maxrate {
# maxrate = $2; maxemp = $1;
# }
# END {
# print "时薪最高的雇员是", maxemp, "其时薪是", maxrate;
# }
# 字符串拼接
# 用来存储字符串的变量默认为空字符串,也就是说字符串不需要显示地初始化
# ----------------------------------------------------------------------
# {
# names = names $1 " "
# }
# END { print names }
# 打印最后一行
# ------------
# { last = $0 }
# END {
# print last;
# }
# 获取每个人名字的长度
# { print $1, length($1) }
# 行,字符,单词的计数
# 为了方便,我们把每个字段当成一个单词
# {
# nc = nc + length($0) + 1; # 1 为换行符的长度
# nw = nw + NF;
# }
# END {
# print NR, "lines", nw, "words", nc, "characters";
# }
Michael 23 0
John 21.3 0
Lisa 44 5
Edward 73 9
Tomas 63 8.1
vv2x 29 8.4