用shell编程设计一个函数:能通过输入某人的学号查找其考试成绩
时间: 2024-02-01 13:16:17 浏览: 82
已知一个链表,现编写一个函数search(),要求根据输入的学生学号,输出他的各科成绩。
3星 · 编辑精心推荐
假设考试成绩数据存储在一个文本文件中,每行记录格式为:学号 姓名 成绩1 成绩2 ... 成绩n。则可以编写如下的Shell函数来实现根据学号查找考试成绩的功能:
```bash
#!/bin/bash
# 定义函数
find_score_by_id() {
# 读取第一个参数,即要查找的学号
id=$1
# 读取第二个参数,即考试成绩数据文件名
file=$2
# 在文件中查找指定学号的考试成绩
grep "^$id " $file | cut -d ' ' -f 3-
}
# 调用函数
find_score_by_id 1001 scores.txt
```
在上面的代码中,`find_score_by_id`函数接受两个参数:要查找的学号和考试成绩数据文件名。函数使用`grep`命令在文件中查找以指定学号开头的行,然后使用`cut`命令提取出考试成绩字段。最后,函数将查找结果返回给调用者。
例如,调用`find_score_by_id 1001 scores.txt`命令可以查找学号为1001的学生的考试成绩。需要注意的是,上述实现假设每个学生的学号都是唯一的,如果存在重复的学号,则可能会返回多个匹配的结果。
阅读全文