试编写一个shell程序cal_rec.sh,统计学生总分与等级,并将结果输出到文件cal_rec.txt。成绩等级定义如下:若总分大于等于255,则等级为“A“;若总分介于225与255之间,则等级为”B”;若总分小雨225,则等级为”C”。
时间: 2024-02-20 09:58:09 浏览: 407
好的,这是一个简单的脚本编写问题。以下是cal_rec.sh的代码:
```bash
#!/bin/bash
# 读取学生成绩文件
while read line
do
# 提取学生姓名和成绩
name=$(echo $line | cut -d ',' -f 1)
score=$(echo $line | cut -d ',' -f 2)
# 计算总分
total=$(echo "scale=0; $score" | bc)
# 判断等级
if [ $total -ge 255 ]; then
grade="A"
elif [ $total -ge 225 ]; then
grade="B"
else
grade="C"
fi
# 输出结果到文件
echo "$name,$total,$grade" >> cal_rec.txt
done < scores.txt
```
这个脚本做了以下几件事:
1. 读取名为`scores.txt`的成绩文件;
2. 循环读取每一行学生成绩数据;
3. 提取学生的姓名和成绩数值;
4. 计算总分;
5. 判断等级;
6. 将学生姓名、总分和等级输出到文件`cal_rec.txt`中。
请确保你已经创建了`scores.txt`文件,并按以下格式输入学生的成绩数据:
```
张三,90
李四,200
王五,300
...
```
脚本运行结束后,你会发现在当前目录下会生成`cal_rec.txt`文件,其中每一行包含一个学生的姓名、总分和等级。
阅读全文