IFS=$'\n' a=($(cat phonebook.txt))
for i in $(seq ${#a[*]}); do
[[ ${a[$i-1]} = $name ]] && echo "${a[$i]}"
done
No Bash, 4 IFS=$'\n' a=($(cat phonebook.txt))
pode ser substituído por mapfile -t a < phonebook.txt
.
grep -A1 imprime uma linha após a partida. -x desativa o regex como -F mas apenas combina linhas completas.
grep -x "$name" -A1 phonebook.txt | tail -n1