私の単純なデータベースには兵士のようなテキストが含まれています。
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}'