É suficiente imprimir da linha que contém o nome desejado até a última linha contendo a palavra Phone
(supondo, é claro, que todas as entradas sigam o mesmo padrão e sempre terão Phone
como registro final)
$> awk '/5 guys/,/Phone/' restaurants.txt
Restaurant: 5 guys
City: Atlanta
State: Georgia
Address: 123 Peachtree Rd
Phone: 911
$> awk '/McDonalds/,/Phone/' restaurants.txt
Restaurant: McDonalds
City: Miami
State: Florida
Address: 123 Biscayne Blvd
Phone: 911
Se quiséssemos complicar um pouco, poderíamos imprimir exatamente 5 linhas após a partida, assim:
awk '/McDonalds/{stop=NR+5}; NR<=stop ' restaurants.txt
Restaurant: McDonalds
City: Miami
State: Florida
Address: 123 Biscayne Blvd
Phone: 911
A variável stop
não será definida, portanto, NR<=stop
não imprimirá nada, até que /McDonalds/{stop=NR+5;}
parte realmente defina a variável, e isso só acontecerá quando encontrarmos a correspondência.