July
17th,
2009
统计日志中独立ip数,用awk很容易搞定:
awk ‘{ip[$1]+=1} END{for(i in ip) {print i,” “ ip[i]}}’ access.log | wc -l |
其中ip为awk中的数组,$1作为数组下标,相同ip就累计到同一个元素中,很简单吧。
如果想统计访问成功的ip数,就在前面过滤一下即可:
awk ‘{if ($10==200) print $1}’ access.log | awk ‘{ip[$1]+=1} END{for(i in ip) {print i,” “ ip[i]}}’ | wc -l |
其中$10为http请求的返回码,不同的accesslog格式,位置有可能不同,需要修改。