Sua idéia de usar um separador de registro regex é elegante, mas lembre-se de que o awk consumirá o texto correspondente, que no seu caso será o primeiro caractere que não seja espaço em branco do registro seguinte .
Se o seu sistema tiver a versão GNU do awk, você poderá acessar o RS mais recentemente correspondido através da variável RT
, no entanto, você ainda precisará salvar o resultado para voltar a colocá-lo no início do seguinte registro. - talvez algo como
gawk 'BEGIN{RS="\n[^[:blank:]]"}; {lastRT=RT}; /apollo/ {$0=substr(lastRT,2)""$0; print}' file.txt
O substr(lastRT,2)
apenas remove a nova linha da correspondência para que apenas o caractere que não é espaço em branco seja prefixado.