我有一个这种格式的access_log文件:
65.175.123.152 - - [08/May/2007:02:17:40 +0200] "GET /favicon.ico HTTP/1.1" 404 217 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.0.11) Gecko/20070312 Firefox/1.5.0.11"现在,我想使用unix shell命令获取每天的总点击量。
我认为这与使用grep有关,我是unix的新手,那么最好的方法是什么呢?
发布于 2013-01-15 00:24:28
对于特定的一天,你可以这样做:
grep 08/May/2007 /var/log/httpd/access_log | wc -l也就是说,查找具有给定日期的所有访问日志条目,然后统计找到的行数。
如果您希望生成日志中所有日期的每一天的点击率报告:
awk '
{
when=substr($4, 2, 11);
totals[when]++
}
END {
for (i in totals)
print i, totals[i]
}' /var/log/httpd/access_log | sort其结果如下所示:
01/Jan/2013 9
02/Jan/2013 33
03/Jan/2013 262
04/Jan/2013 35
05/Jan/2013 19
06/Jan/2013 9
07/Jan/2013 24
08/Jan/2013 68
09/Jan/2013 16
10/Jan/2013 16https://stackoverflow.com/questions/14322184
复制相似问题