Ok, que tal algo mais parecido com isto:
awk "/^[A-Z]\$/{ l=\ ; } ; /^${NAME}\$/ { print l ; exit ; };"
Contras: Envolve a citação (que eu pessoalmente tento evitar) e expressões regulares (que são difíceis de entender) e o awk (que é difícil de entender)
Prós: Eu acho que isso faz o truque, pelo menos do que eu entendo de forma revisada.
(pode ser que não seja necessário substituir $ {NAME} pela entrada que você está pesquisando, por exemplo, tim)
A explicação solicitada na seção de comentários:
/^[A-Z]\$/{ l=\ ; }
Para cada linha que é uma única letra maiúscula, atribua o primeiro (único) item dessa linha à variável l (letra ell).
/^${NAME}\$/ { print l ; exit ; }
Para cada linha que corresponda a $ {NAME} (você deve substituir a coisa que está procurando por $ {NAME}, como eu disse acima, ou definir e exportar a variável de ambiente NAME antes de executar o comando), imprima valor mais recente para a variável l e, em seguida, sair. Efetivamente, o programa sai assim que encontra uma linha que é exatamente o valor especificado, logo após a impressão da linha encontrada mais recentemente que corresponde à primeira expressão regular.
Eu citei todos os $ que não são usados para $ {NAME} porque usei aspas duplas em vez de aspas simples (para permitir que $ {NAME} seja expandido, mas para evitar mexer com os outros $ 's.