Como eu posso entender, você só precisa encontrar qualquer palavra (no caso comum) e imprimir a palavra antes.
Solução em GNU sed :
sed -rn 's/(^|(.* ))([^ ]*) YOUR_WORD(( .*)|$)//; T; p; q'
Explicação
-r é estendido ao GNU regexp;
-n é o comando para não imprimir;
(^|(.* )) - prefixo antes da palavra que você deseja imprimir. Pode ser o início da linha ( ^ ) ou ( | ) caracteres de espaço final ( (.* ) );
([^ ])*) - palavra que será impressa ( );
YOUR_WORD - substitua por palavra, depois da palavra que você encontrar. (Como «correr» depois de «processo»);
(( .*)|$) - fim da linha após as palavras, final ( $ ) ou espaço e alguns caracteres;
é encontrado palavra;
T é «pula para o fim se a substituição não for bem sucedida», extensão GNU. Irá saltar para o fim do script para cada linha, que não contém YOUR_WORD como não primeira palavra;
p é «buffer de impressão», imprime a palavra encontrada (se T não funcionou nesta linha);
q é o comando para parar sed execução, porque já encontramos a palavra (não saltou com T ) e não precisamos encontrar novas palavras.
Atualização: solução sem extensões GNU
sed -n 's/\(^\|\(.* \)\)\([^ ]*\) YOUR_WORD\(\( .*\)\|$\)//; tprint; b; :print; p; q
A explicação é a mesma diferença entre barras invertidas e t . t funciona como T , mas pula se a substituição foi bem-sucedida. Se for assim, nós pulamos para "print and quit", se não - b envia para e do script e processamento da próxima linha.