Para grep 20 caracteres depois e antes do jogo

10

Eu tenho o problema de receber muita informação depois da partida para

grep -RnisI --color=auto "pseudomonas" *

Quero receber apenas 20 ou 10 palavras antes e depois do jogo.

Qual é a ferramenta certa para fazer isso?

    
por Léo Léopold Hertz 준영 25.03.2014 / 22:12

2 respostas

19
cat file.txt | grep -o -P '.{0,20}string.{0,20}'

Isso deve ser feito para você

Atualização:

Se você não quer cat, você pode simplesmente usar o grep com o arquivo como parâmetro:

grep -o -P '.{0,20}pseudomonas.{0,20}' FileName.html

Espero que ajude

Além disso, o -P usa o Perl Regex, que as man pages dizem ser experimental, se você quiser evitar esse sinalizador, você pode usar o egrep em seu lugar:

grep -Eo '.{0,20}yourstring.{0,20}' yourtestfile.txt
    
por 25.03.2014 / 22:25
4
pcregrep -MnirIso '(?s).{0,20}pseudomonas.{0,20}' . |
  grep --color -e '^' -e pseudomonas

Presume que as correspondências e seu contexto não se sobreponham e que os nomes dos arquivos não contêm pseudomonas .

Observe também que os números de linha informados são os do início do contexto.

    
por 25.03.2014 / 22:27

Tags