Como usar tail -f com grep para mostrar as linhas circunvizinhas

14

Eu gostaria de ver a saída em um logfile atingida por apenas um domínio, mas também pelas seguintes duas linhas .

Exemplo:

tail -f /var/log/apache2/modsec_audit.log |grep mydomain.de

isso mostra todas as linhas, que contêm "mydomain.de" , mas as informações importantes estão na linha abaixo da linha, onde o domínio está incluído

    
por rubo77 04.02.2013 / 06:58

2 respostas

22

O grep tem opções extras para definir quantas linhas antes e depois do resultado:

  • -A (depois)
  • -B (antes)
  • -C (contexto [antes + depois])

Então, no seu caso, você precisa de -A :

YOUR_COMMAND |grep -A NUMBER YOURDOMAIN

o comando acima imprime NUMBER de linhas após YOURDOMAIN no arquivo.

    
por 04.02.2013 / 07:40
9

Tente passar o número de linhas de contexto para o grep.

| grep -C 5

imprimirá 5 linhas antes e depois da partida.

    
por 04.02.2013 / 07:05

Tags