[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