On Fri, Sep 25, 2009 at 01:54:35PM -0300, Marcus wrote: > > > Boa Tarde! > > Alguém sabe de alguma forma para exibir linhas de um arquivo a partir de > um intervalo de tempo. Tipo, exibir ou contar (wc -l) todas as linhas de > um arquivo entre 10:00 e 10:30. O arquivo em questão é o arquivo de log > de um site no apache, e possui dentro dele marcação de tempo. O formato > é como se segue: > > 200.244.111.111 - - [25/Sep/2009:13:48:54 -0300] "GET > /cgi/cgilua.exe/sys/authoring/frm_info.htm?infoid=97&user=structureeditor > HTTP/1.0" 200 50355 > > "[1]http://www.xxxxxx.com.br/cgi/cgilua.exe/sys/authoring/xxxxitactions.htm" > "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.0)" > 200.244.111.111 - - [25/Sep/2009:13:48:55 -0300] "GET > /cgi/cgilua.exe/web/system/int/htm/pretoolbar.js HTTP/1.0" 200 6911 > > "[2]http://www.xxxxxx.com.br/cgi/cgilua.exe/sys/authoring/frm_info.htm?infoid=97&user=structureeditor" > "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.0)" > 66.249.65.236 - - [25/Sep/2009:13:49:45 -0300] "GET > /cgi/cgilua.exe/sys/stfddfteddf?infoid=837&sid=13 HTTP/1.1" 200 12667 > "-" "Mozilla/5.0 (compatible; Googlebot/2.1; > +[3]http://www.google.com/bot.html)" > > Alguma sugestão? > > Abs, fiquem com Deus! >
ficou ambígua sua pergunta, não ficou claro qual é a tarefa que deseja executar, nem se deseja executá-la todo dia entre 10 e 10:30 ou se deseja obter de um arquivo de log todas as linhas que estejam nesse intervalo, vou assumir a segunda opção e mostrar uma solução usando o awk: awk -F: '$2==10 && $3 <= 30 { l++ } END { print l }' apache.log -- "Não manejo bem as palavras Mas manipulo bem as strings." ------------------------------