在我的簡單資料庫中,它包含諸如士兵之類的文字。
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}'