내 간단한 데이터베이스에는 군인과 같은 텍스트가 포함되어 있습니다.
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}'