Como fazer com que o grep imprima apenas o texto correspondente mais X caracteres adjacentes

6

Eu preciso de algo semelhante a grep -A e grep -B , mas para caracteres. Em outras palavras, eu tenho um arquivo com incrivelmente linhas longas, por exemplo:

[thousands of characters] mytext [thousands of characters]

Se eu fizer grep mytext file , eu não quero as linhas completas porque vai se tornar muito difícil de ler e resultar em um arquivo enorme se eu enviar para um arquivo. grep -o não funciona para mim porque só retorna mytext e preciso ver os caracteres X em torno da partida. Então, imagine uma opção falsa -Y :

$ grep -Y mytext file
Pz8mytextgxe
[email protected]

Como faço isso?

    
por CaptSaltyJack 07.08.2014 / 23:39

1 resposta

6

Se você conhece o Y antecipadamente, pode fazer, por exemplo,

grep -o '...mytext...' file

em que ... tem caracteres Y longos. Por exemplo. o acima faz para Y = 3. O '.' caractere em uma expressão regular corresponde a qualquer caractere.

    
por 08.08.2014 / 03:44

Tags