利用awk处理学生分数排名问题真实案例如下:
1、已知老男孩教育运维班26期期中集群架构上台述职报告人员的分数为:
提示:由述职学员上台演讲搭建的集群架构,由学生评委和导师评分,历经2天共产生如下评分
[root@oldboy ~]# cat oldboy_student.txt 冯泉 100 100 96 95 100 96 100 97 万永振 100 95 90 88 95 98 95 98 徐亮�� 100 100 90 98 90 98 100 96 曹雅楠 100 100 95 90 97 90 95 98 陈派宇 90 95 95 96 100 98 100 96 李峰 90 90 90 85 92 95 95 98 余连辉 90 93 95 92 95 95 96 95 侯亚光 90 96 97 90 90 85 95 90 王续 85 92 98 98 90 95 蔚雷 92 92 96 90 90 80 苏浩智 88 96 85 95 90 90 徐登辉 85 95 88 90 90 90 林章益 91 97 98 90 100 90 黄品清 85 97 88 90 90 90 李健 85 95 90 88 80 80 宫全乐 88 95 90 88 90 100 万良 89 95 95 88 100 100 马自强 88 97 90 88 90 90 任冠亚 88 97 98 90 100 100
现在要求去掉一个最高分,一个最低分,然后计算学员的平均分,排序!
2、排序程序如下(程序来自学员侯鹏飞(《跟老男孩学习Linux三剑客命令一书作者》内部发行)
[root@oldboy ~]# cat oldboy.awk { name=$1 MAX=$2 MIN=$2 total=$2 for (x=3;x<=NF;x++){ if($x>=MAX){ MAX=$x } if($x<=MIN){ MIN=$x } total+=$x } num=total-MAX-MIN avar=num/(NF-3) printf "%-5.3s MAX=%3d MIN=%2d avar=%0.2f\n", name,MAX,MIN,avar }
3、处理结果
[root@oldboy ~]# awk -f oldboy.awk oldboy_student.txt|sort -t = -rnk4|nl 1 冯泉 MAX=100 MIN=95 avar=98.17 #<==26期状元 2 徐亮�� MAX=100 MIN=90 avar=97.00 #<==26期榜眼 3 陈派宇 MAX=100 MIN=90 avar=96.67 #<==26期探花 4 任冠亚 MAX=100 MIN=88 avar=96.25 5 曹雅楠 MAX=100 MIN=90 avar=95.83 6 万永振 MAX=100 MIN=88 avar=95.17 7 万良 MAX=100 MIN=88 avar=94.75 8 余连辉 MAX= 96 MIN=90 avar=94.17 9 林章益 MAX=100 MIN=90 avar=94.00 10 王续 MAX= 98 MIN=85 avar=93.75 11 李峰 MAX= 98 MIN=85 avar=92.00 12 侯亚光 MAX= 97 MIN=85 avar=91.83 13 蔚雷 MAX= 96 MIN=80 avar=91.00 14 苏浩智 MAX= 96 MIN=85 avar=90.75 15 宫全乐 MAX=100 MIN=88 avar=90.75 16 徐登辉 MAX= 95 MIN=85 avar=89.50 17 马自强 MAX= 97 MIN=88 avar=89.50 18 黄品清 MAX= 97 MIN=85 avar=89.50 19 李健 MAX= 95 MIN=80 avar=85.75
4、26期学员总数约80人,前两天述职人数19人,述职视频全球免费分享
百度云分享: http://yun.baidu.com/share/link?shareid=592899567&uk=789116898
360云分享: http://yunpan.cn/cjJ4rWaT8bVRS 提取码 1e89
欢迎所有网友欣赏、验证下老男孩教育的教学效果
80%左右的同学均实现了一键自动化安装10台服务器集群,这只是一半的课程呦!
oldboy-1-中小规模集群项目实战分享述职-老男孩运维班26期冯泉-画图哥.avi
oldboy-2-中小规模集群项目实战分享述职-老男孩运维班26期万永振-万能哥.avi
oldboy-3-中小规模集群项目实战分享述职-老男孩运维班26期徐亮伟-思想哥.avi
oldboy-4-中小规模集群项目实战分享述职-老男孩运维班26期曹亚楠-文档哥.avi
oldboy-5-中小规模集群项目实战分享述职-老男孩运维班26期陈派宇.avi
oldboy-6-中小规模集群项目实战分享述职-老男孩运维班26期李峰.avi
oldboy-7-中小规模集群项目实战分享述职-老男孩运维班26期-于连辉-脚本哥.avi
oldboy-8-中小规模集群项目实战分享述职-老男孩运维班26期-侯亚光-PPT哥.avi
oldboy-9-中小规模集群项目实战分享述职-老男孩运维班26期王续.avi
oldboy-10-中小规模集群项目实战分享述职-老男孩运维班26期-蔚雷-雷神哥.avi
23期:
oldboy1-老男孩23期期中架构述职-何清1.mp4
oldboy2-老男孩23期期中架构述职-何清2.mp4
oldboy3-中小规模集群项目实战分享述职-老男孩23期谢迪.mp4
oldboy4-中小规模集群项目实战分享述职-老男孩23期李文学.mp4
oldboy5-自动化安装中小规模集群项目实战-老男孩23期李想.mp4
5、老男孩教育学员平均就业工资,连续多年在全国同行业排名绝对第一的位置,远远甩开所有同行机构N条街,学员后续的发展劲头更是一浪高过一浪,据不完全统计,运维经理及总监级别学员不低于50个,年薪30万以上的数百个。
如果你也想精通linux awk,sed,grep三剑客,可联系博客首页公布的老男孩教育顾问老师免费获取《跟老男孩学习Linux三剑客命令一书作者》一书电子版!