在score.txt文件中保存了三个班级的学生考试成绩,请编写一段shell程序计算每个班级的学生人数与平均分。
时间: 2023-04-24 20:05:02 浏览: 337
以下是一段计算每个班级学生人数与平均分的shell程序:
```shell
#!/bin/bash
# 统计第一个班级的学生人数和平均分
class1_count=$(grep -c "^class1" score.txt)
class1_sum=$(grep "^class1" score.txt | awk '{sum+=$3} END {print sum}')
class1_avg=$(echo "scale=2; $class1_sum / $class1_count" | bc)
# 统计第二个班级的学生人数和平均分
class2_count=$(grep -c "^class2" score.txt)
class2_sum=$(grep "^class2" score.txt | awk '{sum+=$3} END {print sum}')
class2_avg=$(echo "scale=2; $class2_sum / $class2_count" | bc)
# 统计第三个班级的学生人数和平均分
class3_count=$(grep -c "^class3" score.txt)
class3_sum=$(grep "^class3" score.txt | awk '{sum+=$3} END {print sum}')
class3_avg=$(echo "scale=2; $class3_sum / $class3_count" | bc)
# 输出结果
echo "class1: $class1_count students, average score: $class1_avg"
echo "class2: $class2_count students, average score: $class2_avg"
echo "class3: $class3_count students, average score: $class3_avg"
```
该程序首先使用grep命令统计每个班级的学生人数,然后使用awk命令计算每个班级的总分数,最后使用bc命令计算平均分。最后,程序输出每个班级的学生人数和平均分。
阅读全文