Se você sabe que src: ocorre no início de uma linha e que foo está entre aspas e precedido por um espaço e que deve haver dois pontos no início da linha, use
awk 'BEGIN{a=0} /^$/{if(a==1) print b; a=0} /:.* "foo"/{a=1} /^src:/{b=$0} END{if(a==1) print b}'
Usamos a variável a para lembrar se o padrão foo ocorre ou não no bloco de entrada e a variável b para armazenar a linha src: . No começo, a é definido como 0. Sempre que encontramos uma linha vazia (ou seja, ^$ ), verificamos o valor de a , imprimimos condicionalmente b e redefinimos a . Se encontrarmos "foo" precedido por dois pontos no início da linha, definimos a como 1. Se encontrarmos src: no início de uma linha ( ^ ), armazenamos em b . No final, verificamos mais uma vez se a == 1 , se assim for, imprimiremos b .