[linux] prikaz na vybratie datumov z logov Apacha

Patrik Bona bona na hron.fei.tuke.sk
Pátek Srpen 8 17:03:03 CEST 2003


Zdravim

On Fri, Aug 08, 2003 at 11:33:24AM +0200, Andrej Hosna wrote:
> xxx.xxx.xxx.xxx - - [08/Aug/2003:11:31:15 +0200] "GET /obrazky/prezerac.php 
> HTTP/1.1" 200 2686

> pre moj pripad je napr. aj toto riesenie
> cat /var/log/httpd/access_log | while read l; do l=${l#*[[]}; l=${l%%:*}; echo 
> $l; done | uniq -c

pekne riesenie, sice netusim ako funguje, ale pekne
ale aj tak ja by som to spravil asi takto:

time cat /var/log/apache/access.log | awk '{print $4}' | sed -e "s/\[//" -e "s/:.*//" | sort | uniq -c

a vcom je lepsie ?

okrem o dost nizzsej zlositosti napriklad:

$ time cat /var/log/apache/access.log | while read l; do l=${l#*[[]}; l=${l%%:*}; echo $l; done | uniq -c

...

real    0m2.833s
user    0m1.510s
sys     0m1.320s

$ time cat /var/log/apache/access.log | awk '{print $4}' | sed -e  "s/\[//" -e "s/:.*//" | sort | uniq -c

...

real    0m0.061s
user    0m0.060s
sys     0m0.000s

a pritom log ma len 3095 riadkov...
cize ak sa nemylim 1. riesenie  vykonalo cez 3000 iteracii a v kazdej
tri prikazy
kdezto 2. vykona 6 prikazov...


enjoy !

-- 
--- Patrik Bona - student fei tuke - http://www.intrak.sk/~bona/
--- http://hysteria.sk/head/projekt/




Další informace o konferenci linux