文件record.txt记录了学生的成绩,格式如下: Name course1 course2 course3 Tom 80 90 95 John 70 80 85 …… 试编写一个shell程序cal_rec.sh,统计学生总分与等级,并将结果输出到文件cal_rec.txt。成绩等级定义如下:若总分大于等于255,则等级为“A“;若总分介于225与255之间,则等级为”B”;若总分小雨225,则等级为”C”。cal_rec.txt文件格式如下: Name total level Tom 265 A John 235 B
时间: 2024-02-14 22:04:03 浏览: 28
下面是cal_rec.sh的代码:
```bash
#!/bin/bash
# 读取record.txt文件中的学生成绩信息
while read line
do
name=$(echo $line | cut -d " " -f 1)
course1=$(echo $line | cut -d " " -f 2)
course2=$(echo $line | cut -d " " -f 3)
course3=$(echo $line | cut -d " " -f 4)
# 计算总分
total=$((course1+course2+course3))
# 根据总分计算等级
if [ $total -ge 255 ]; then
level="A"
elif [ $total -ge 225 ]; then
level="B"
else
level="C"
fi
# 输出结果到cal_rec.txt文件
echo "$name $total $level" >> cal_rec.txt
done < record.txt
```
使用方法:
1. 将上述代码复制到一个名为cal_rec.sh的文件中;
2. 将包含学生成绩信息的文件命名为record.txt,并与cal_rec.sh放在同一目录下;
3. 在终端中进入该目录,并执行以下命令:`chmod +x cal_rec.sh`,赋予该文件可执行权限;
4. 在终端中执行以下命令:`./cal_rec.sh`,即可生成cal_rec.txt文件,其中包含每个学生的总分与等级。