Embora a saída esperada não seja clara, tentarei. Se você tiver os utilitários do gnu no Solaris, você pode usar o gawk e o ggrep de uma maneira muito simples:
gawk 'NF > 0' fileName |ggrep -C5 pattern
Você pode adicionar um | ggrep -v algumPadrão no final para filtrar palavras indesejadas.