高分求解linux下shell编程

来源:百度知道 编辑:UC知道 时间:2024/09/21 19:04:28
题目如下:
文件record.txt 记录学生的成绩,内容如下:
Name course1 course2 course3
Tom 80 90 95
John 70 60 75
Cathary 80 85 74
编写一shell程序cal_rec.sh,用于统计学生总分和等级,并将结果输出到文件cal_rec.txt中。成绩等级为:若总分大于等于255,则为“A”;若总分大于等于255但小于255,则为“B”;若总分小于255,则等级为“C”
Name tatal level
Tom 265 A
John 205 C
Cathary 239 B
最后自动加上用户名与日期

小弟刚学linux编程,老师出的题,不会做。望哪位精通linux编程高手帮忙解答,越快越好(作业马上要交了)!拜托拜托!

你的ABC档没有分清楚,你核察一下分类指标。

#!/bin/sh
USR=`whoami`
DTE=`date '+%F'`
awk '{
if (NR==1)
printf("NAME\ttotal\tlevel\n");
else
{
total=$2+$3+$4;
printf("%s\t%d\t",$1,total);
if(total>=255)
printf("A\n");
else if(total>=225)
printf("B\n");
else
printf("C\n");
}
}
END{
printf("'$USR'\t'$DTE'\n");
}' record.txt>cal_rec.txt

建议仔细学习Awk,答案应该都在里面。。

看AWK