这两天,手里的项目总算都差不多了,我总算有了点时间看看书。看了看编译原理的书,对正则表达式,自动机有了一些粗浅的认识,突然想起来可以用正则表达式来分析分析我的网站日志啊!
分析什么好呢?就分析一下每天有多少人通过google搜索来吧!
写一个正则表达式,用grep来查询
grep http://www"."google"."com/search.*\n ex041129.log
这样日志那行里面有http://www.google.com/search,就会被提取出来
如果我们只想看他搜索的地址,可以用-o参数,这样,就会只看到匹配串
grep -o http://www"."google"."com/search.*\n ex041129.log
如果我们想知道有多少条google的访问记录呢,加上-c参数即可
grep -c http://www"."google"."com/search.*\n ex041129.log
这时候,出现了另一个问题,我们找到的地址都是行如
http://www.google.com/search?q=%E4%BA%8C%E6%9C%88%E6%B2%B3%E5%B0%8F%E8%AF%B4%E4%B8%8B%E8%BD%BD&hl=zh-CN&lr=lang_zh-CN&inlang=zh-CN&newwindow=1&start=10&sa=N
我们根本不知道搜索的是什么,怎么办呢?写一个程序来转换吧!
代码如下:
源码下载 utf8url.c
上 面那个google地址转换后是http://www.google.com/search?q=二月河小说下载&hl=zh-CN& amp; amp; lr=lang_zh-CN&inlang=zh-CN&newwindow=1&start=10&sa=N。
把这个源码用任意支持ansi C的编译器编译以后,我们得到了一个工具utf8url.exe。
我们的命令行变成
grep -o http://www"."google"."com/search.*\n ex041129.log | utf8url 〉google.txt
这样一条命令就可以知道有多少google来客了,^_^。
如果没有记错的话,win2k服务器版自带grep,如果你是其他版本的windows可以利用我的朋友yayv做的简单的win下的linux工具箱,里面包含了grep等linux常用工具的windows版本。
linux工具箱下载地址:bin.rar
utf8url下载地址:utf8url.exe


请不要吝惜您的评论,每一条评论,都是我在漫漫长夜前行的力量
1 条评论:
博客管理员已删除此帖。
10:42 上午
发表评论
<< 主页