In meiner einfachen Datenbank enthält es beispielsweise Texte wie „Soldaten“.
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
Und mein Skript geht so:
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
Wenn ich "Corporal" in den Namen eingebe, wird die Ausgabe angezeigt
Tom Corporal:Recruit:Male:19:2
Nicole Sergeant:Corporal:Female:30:10
weil die Zeichenfolge mit dem Abschnittsnamen und dem Rang übereinstimmt. Wie verwende ich das Trennzeichen:, um die Suche zu kategorisieren, sodass, wenn ich meine Bedingungen unter Rang eingebe, nur nach der Rangkategorie und nicht nach allem anderen gesucht wird.
Dank im Voraus.
Und stimmen Sie für meine Frage, anstatt sie herunterzustimmen.
Antwort1
grep "^.*:.*:$gender" Information.txt | awk -F: '{print $1}'