利用awk处理学生分数排名问题案例

利用awk处理学生分数排名问题真实案例如下:

1、已知老男孩教育运维班26期期中集群架构上台述职报告人员的分数为:

提示:由述职学员上台演讲搭建的集群架构,由学生评委和导师评分,历经2天共产生如下评分

[[email protected] ~]# 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三剑客命令一书作者》内部发行)

[[email protected] ~]# 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、处理结果

[[email protected] ~]# 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三剑客命令一书作者》一书电子版!

时间: 2024-10-14 04:12:02

利用awk处理学生分数排名问题案例的相关文章

QQ空间排名暴利案例分析

利用QQ空间做排名好处挺多的. 1.qq空间大平台高权重可以利用它做快速排名. 2.开通一个QQ空间成本低效益高几百倍的利润. 3.可以用站群模式来做效果更好 4.简单,有点基础的都能做,谁做了谁知道. 下面我们举例三个用QQ空间做排名的案例,供大家参考. 案例一.上海信用卡套现 关键词:上海信用卡套现 百度指数:235 关键词百度排名第一 点击进去可以看到: 盈利分析:这是一个灰色行业,信用卡套现一般手续费在3%——10%之间.我身边经常有朋友因为换不起信用卡,直接把信用卡放在提现公司那里.如

SOJ.分数排名查询

分数排名查询     总提交数量: 641 通过数量: 239                 时间限制:1秒    内存限制:256兆 题目描述 张老师在同学们考试结束后,收到很多邮件. 有的同学问学号为"12号"的多少分? 有的同学问学号为"18号"的排名第几? 有的同学问80分全班排第几? 还有的同学问90分的全班有几个人? 张老师手上有所有同学的分数,请你写一个程序帮他去回答这些问题. 输入格式 输入由两部分组成,第一部分为同学的分数.第一行n为同学的数量(

Django项目:CRM(客户关系管理系统)--75--65PerfectCRM实现CRM课程分数排名

1 # classtop_urls.py 2 # --------64PerfectCRM实现CRM课程排名详情-------- 3 from django.conf.urls import url 4 from bpm.coursetop import coursetop_views 5 urlpatterns = [ 6 url( r'^coursetop_details/(\d+)/$', coursetop_views.coursetop_details, name="coursetop

利用 AWK 的数值计算功能提升工作效率(转载)

Awk 是一种优秀的文本样式扫描和处理工具.转文侧重介绍了 awk 在数值计算方面的运用,并通过几个实际工作中的例子,阐述了如何利用 awk 的计算功能来提高我们的工作效率.转文源自IBM Bluemix,链接:http://www.ibm.com/developerworks/cn/linux/l-cn-awkinwork/ Awk 是一种优秀的文本样式扫描和处理工具. Awk 与 sed 和 grep 有些相似, 但功能比后者强不少. awk 提供的功能包括样式载入, 流控制,数学运算符,进

LeetCode-178:分数排名

题目描述: 编写一个 SQL 查询来实现分数排名.如果两个分数相同,则两个分数排名(Rank)相同.请注意,平分后的下一个名次应该是下一个连续的整数值.换句话说,名次之间不应该有“间隔”. +----+-------+ | Id | Score | +----+-------+ | 1 | 3.50 | | 2 | 3.65 | | 3 | 4.00 | | 4 | 3.85 | | 5 | 4.00 | | 6 | 3.65 | +----+-------+ 例如,根据上述给定的 Scores

力扣——分数排名(数据库的题

编写一个 SQL 查询来实现分数排名.如果两个分数相同,则两个分数排名(Rank)相同.请注意,平分后的下一个名次应该是下一个连续的整数值.换句话说,名次之间不应该有"间隔". +----+-------+ | Id | Score | +----+-------+ | 1 | 3.50 | | 2 | 3.65 | | 3 | 4.00 | | 4 | 3.85 | | 5 | 4.00 | | 6 | 3.65 | +----+-------+ 例如,根据上述给定的 Scores 

分数排名

编写一个 SQL 查询来实现分数排名.如果两个分数相同,则两个分数排名(Rank)相同 +----+-------+ | Id | Score | +----+-------+ | 1 | 3.50 | | 2 | 3.65 | | 3 | 4.00 | | 4 | 3.85 | | 5 | 4.00 | | 6 | 3.65 | +----+-------+ 例如,根据上述给定的 Scores 表,你的查询应该返回(按分数从高到低排列): +-------+------+ | Score |

MYSQL分数排名

编写一个 SQL 查询来实现分数排名.如果两个分数相同,则两个分数排名(Rank)相同.请注意,平分后的下一个名次应该是下一个连续的整数值.换句话说,名次之间不应该有“间隔”. +----+-------+| Id | Score |+----+-------+| 1 | 3.50 || 2 | 3.65 || 3 | 4.00 || 4 | 3.85 || 5 | 4.00 || 6 | 3.65 |+----+-------+例如,根据上述给定的 Scores 表,你的查询应该返回(按分数从

shell脚本,计算学生分数的题目。

1.计算学生平均分数的值是多少? 2.计算每门课都大于80分的学生姓名.3.计算每门课都小于90分的学生姓名.