grep limite número de saída com contexto

0

Se eu quiser encontrar uma linha no arquivo e exibir o contexto ao redor, eu uso grep -C .

Se eu também quiser limitar a saída às primeiras ocorrências, adiciono -m parameter

O problema é que grep apenas pára de ler o arquivo após a última ocorrência, não exibindo o contexto após essa linha, por exemplo

grep -C 1 -m 2 -n "string" filename

exibiria:

123:line before
124:string - first time
125:line after
--
--
789:line before
790:string - second time

linha 791 não será exibida. Este é provavelmente o comportamento correto (pare de ler imediatamente após a conclusão da pesquisa), mas como posso exibir o contexto completo de qualquer maneira?

    
por xaxa 24.06.2015 / 22:24

1 resposta

1

Soa como um bug para mim. Eu não estou tendo o mesmo problema que você com a versão 2.16 do grep.

Supondo que seja um bug com sua versão do grep, talvez uma solução alternativa seria usar -B e -A em vez de -C:

% bl0ck_qu0te%     
por el_tigro 24.06.2015 / 22:35