在我的简单数据库中,它包含诸如士兵之类的文本。
Name:Rank:Gender:Age:Years of Service
Tom Corporal:Recruit:Male:19:2
Nicole Sergeant:Corporal:Female:30:10
Daniel Recruit:Sergeant:Male:40:19
我的脚本是这样的:
echo "Enter name: "
read name
echo "Enter rank: "
read rank
echo "Enter gender: "
read gender
echo "Enter age: "
read age
echo "Enter Years of service: "
read years
grep $name database.txt
如果我在名字中输入“Corporal”,输出将显示
Tom Corporal:Recruit:Male:19:2
Nicole Sergeant:Corporal:Female:30:10
因为该字符串与部分名称和排名下匹配。我如何使用分隔符:对搜索进行分类,因此如果我在排名下输入条件,它将仅搜索排名类别,而不是其他所有内容。
提前致谢。
并提出我的问题而不是否决投票。
答案1
grep "^.*:.*:$gender" Information.txt | awk -F: '{print $1}'