A ver si entendí:
Hacer una búsqueda con contexto de un "palabro", luego buscar en el resultado la última palabra de la línea coincidente (no del contexto), y hacer una nueva búsqueda en el mismo archivo, de esa última palabra.
awk hace muy sencillo encontrar la última palabra, simplemente tendrías que usar
awk '{ print $NF }'
tee bifurca su entrada, de tal manera que podés mostrar el texto en la pantalla al mismo tiempo que lo redirigís a un archivo o a otro proceso.
Podés usar variables para guardar el término a buscar, podés usar archivos temporales, o podés complicar el código haciendo algo como
Código BASH:
Ver originalPALABRO=casa
ARCHIVO=mi_fichero.txt
grep -B 1 -A 2 "$PALABRO" "$ARCHIVO" | tee >( TERMINO=$(awk '/'$PALABRO'/ { print $NF }'); grep $TERMINO "$ARCHIVO" )
la salida de
grep es redirigida por
tee a la salida estándar (pantalla) y además a la subshell, donde se ejecuta
awk para obtener la última palabra, se guarda ésta en una variable, y se ejecuta un nuevo
grep.
Lo que te salga mejor :)