3、编写一段Shell程序完成:根据从键盘输入的学生学号,到档案表文件中查找对应的学生信息,并进行显示。档案表的定义如下:学号:姓名
时间: 2024-05-24 20:13:13 浏览: 9
#!/bin/bash
# 提示用户输入学生学号
echo "请输入学生学号:"
read student_id
# 在档案表文件中查找对应的学生信息
student_info=$(grep "^${student_id}:" archive.txt)
# 如果找到对应的学生信息,则进行显示
if [[ -n "${student_info}" ]]; then
echo "${student_info}"
else
echo "未找到对应的学生信息"
fi
相关问题
3、编写一段Shell程序完成:根据从键盘输入的学生学号,到档案表文件中查找对应的学生信息,并进行显示。
#!/bin/bash
echo "请输入学生学号:"
read student_id
while IFS="," read -r id name gender age grade
do
if [ "$id" == "$student_id" ]
then
echo "学号:$id"
echo "姓名:$name"
echo "性别:$gender"
echo "年龄:$age"
echo "成绩:$grade"
break
fi
done < student.csv
编写一段Shell程序完成:根据从键盘输入的学生学号,到档案表文件中查找对应的学生信息,并进行显示。档案表的定义如下:
假设档案表文件名为"students.txt",格式如下:
学号 姓名 性别 年龄 专业
在Shell中,可以使用以下代码完成该任务:
#!/bin/bash
echo "请输入学生学号:"
read id
# 查找学生信息
while read line
do
# 以空格为分隔符,将每行数据分割成数组
info=($line)
# 如果学号匹配,则输出该学生信息
if [ ${info[0]} == $id ]
then
echo "学号:${info[0]}"
echo "姓名:${info[1]}"
echo "性别:${info[2]}"
echo "年龄:${info[3]}"
echo "专业:${info[4]}"
break
fi
done < students.txt
# 如果未找到该学生信息,则输出提示信息
if [ ${info[0]} != $id ]
then
echo "未找到该学生信息!"
fi
在执行该脚本时,先提示用户输入学生学号,然后从文件"students.txt"中逐行读取数据,将每行数据分割成数组,然后判断学号是否匹配。如果匹配,则输出该学生信息,并退出循环;否则继续读取下一行数据。如果遍历完整个文件后仍未找到匹配的学生信息,则输出提示信息。