shell 设计一个函数:能通过输入某人的学号查找其考试成绩
时间: 2023-12-06 17:05:29 浏览: 141
可以使用以下的函数来实现:
```shell
find_score() {
# 提示用户输入学号
read -p "请输入学号: " id
# 查找成绩
score=$(grep "^$id" scores.txt | cut -d " " -f 2)
# 判断是否找到成绩
if [ -z "$score" ]; then
echo "未找到该学号的成绩"
else
echo "该学号的成绩为: $score"
fi
}
```
这个函数会提示用户输入学号,然后在 `scores.txt` 中查找对应学号的成绩,并输出结果。如果未找到成绩,则会提示用户未找到。你需要将 `scores.txt` 替换为你自己的成绩文件名和路径。
相关问题
shell设计一个函数:能通过输入某人的学号查找其考试成绩
假设考试成绩数据保存在一个文件中,每一行代表一个学生的考试成绩,格式为:学号 成绩。可以使用以下函数来实现查找:
```shell
function search_score() {
# 获取要查询的学号
read -p "请输入要查询的学号:" id
# 在文件中查找该学号对应的成绩
score=$(grep "^$id " scores.txt | cut -d ' ' -f 2)
# 输出查询结果
if [[ -n $score ]]; then
echo "学号 $id 的成绩为:$score"
else
echo "未找到学号为 $id 的成绩记录"
fi
}
```
在该函数中,首先通过 `read` 命令获取要查询的学号,然后使用 `grep` 命令查找文件中以该学号开头的行,并使用 `cut` 命令提取出该行的第二个字段(即成绩)。如果查找成功,就输出学号和成绩;否则输出未找到记录的提示。注意,该函数假设考试成绩数据保存在名为 `scores.txt` 的文件中,如果实际情况不同,需要相应修改。
shell设计一个函数:能通过输入某人的学号查找其考试成绩
假设考试成绩的存储格式是一个文件,文件名为"exam_scores.txt",每行包含学生信息和成绩,以空格分隔。其中第一列为学号,第二列为姓名,第三列为考试成绩。我们可以编写一个shell函数来实现查找某人的考试成绩。
```shell
search_score() {
read -p "请输入学号: " id
grep "^$id" exam_scores.txt | awk '{print "成绩为: " $3}'
}
```
这个函数首先提示用户输入学号,然后使用grep命令在文件中查找该学号对应的行,并使用awk命令取出该行的第三列,也就是考试成绩。如果没有找到该学号对应的行,则输出空行。
阅读全文