Cómo utilizar el comando Cortar y Grep para buscar datos separados por ":"

Cómo utilizar el comando Cortar y Grep para buscar datos separados por ":"

En mi base de datos simple, contiene texto de, por ejemplo, soldados.

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

Y mi guión es el siguiente:

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

Si ingreso "Cabo" en el nombre, el resultado mostrará

Tom Corporal:Recruit:Male:19:2
Nicole Sergeant:Corporal:Female:30:10

porque la cadena coincide con el nombre y la clasificación de la sección. ¿Cómo uso el delimitador: para categorizar la búsqueda, por lo que si ingreso mis condiciones en la clasificación, buscará solo la categoría de clasificación y no todo lo demás?

Gracias de antemano.

Y responda mi pregunta en lugar de votar en contra.

Respuesta1

grep "^.*:.*:$gender" Information.txt | awk -F: '{print $1}'

información relacionada