intervalo de datas do grep - log do apache

5

Eu estou querendo saber como eu poderia fazer o seguinte greps:

  • grep Apache log apenas para um intervalo de datas, suponha de 5 / nov / 2010 a 5 / dez / 2010

e

  • grep log do Apache a partir de '15 / nov / 2010 até a última entrada de log.

Obrigado

    
por Charles 10.12.2010 / 19:31

1 resposta

5

Eu vou responder isso na ordem inversa:

grep Apache log starting from '15/Nov/2010 until the last log entry.

Isso não requer nenhum tipo de análise de data e pode ser realizado facilmente com sed :

# sed -n '/15\/Nov\/2010/,$ p' /path/to/access_log

Isso diz para mostrar linhas ( p ) começando com 15/Nov/2010 até o final do arquivo ( $ ).

grep Apache log only for a range of dates, assume from 5/Nov/2010 to 5/Dec/2010

Isso é quase o mesmo, mas em vez de mostrar linhas até o final do arquivo, você deseja interromper a impressão de linhas quando atingir a segunda data. Você poderia tentar algo assim:

# sed -n '/5\/Nov\/2010/,/5\/Dec\/2010/ p'

Observe que em ambos os exemplos estou escapando dos caracteres / , porque sed os usa para delimitar expressões regulares.

    
por 10.12.2010 / 19:44