grep os padrões de data específicos

0

Eu tenho um requisito, onde preciso grep dos logs que cobrem do período de 2011/03/25 a 2011/04/04 (YYMMDD).

Eu fiz isso com o comando egrep, parece estar funcionando bem para mim.

cat / var / log / messages | egrep "2011/03/2 [6-9] | 2011/03/3 [0-1] | 2011/04/0 [1-4]"

Eu estava procurando o comando awk que simplificaria minha vida.

Abaixo está o trecho do arquivo de log ...

 2011/04/01-12:15:00
 2011/04/01-12:15:00
 2011/04/01-12:15:00
 2011/04/01-12:15:01
 2011/04/01-12:15:01
 2011/04/01-12:15:01
 2011/04/01-12:15:01
 2011/04/01-12:15:01
    
por maneeshshetty 05.04.2011 / 19:58

1 resposta

1
awk -F - '"2011/03/25" < $1 && $1 <= "2011/04/04"' filename

ou, se as datas forem mais dinâmicas

d1="2011/03/25" # or whatever commands to set this date
d2="2011/04/04" # or whatever commands to set this date
awk -v start=$d1 -v end=$d2 -F - 'start < $1 && $1 <= end' filename
    
por 05.04.2011 / 21:34

Tags