免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
12下一页
最近访问板块 发新帖
查看: 2515 | 回复: 16
打印 上一主题 下一主题

请教个表达式 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2007-04-20 10:34 |只看该作者 |倒序浏览
apache 日志文件里面:

61.135.146.197 - - [01/Jan/2007:00:01:24 +0800] "GET /showthread-s_976f23920f3a78878825cf47eaf8f39b-t_5847.html
HTTP/1.1" 200 27340 "-" "Baiduspider+(+http://www.baidu.com/search/spider.htm)"
61.135.146.197 - - [01/Jan/2007:00:02:41 +0800] "GET /showthread-s_6519da1d0da354aba1b6ac26b1841f2f-t_6489-goto
_nextoldest.html HTTP/1.1" 200 28652 "-" "Baiduspider+(+http://www.baidu.com/search/spider.htm)"
220.181.19.189 - - [01/Jan/2007:00:02:50 +0800] "GET /showthread.php?t=5436&goto=nextoldest HTTP/1.1" 200 22979
"-" "sogou spider"

变成:
61.135.146.197 - - [01/Jan/2007:00:01:24 +0800] "GET /showthread-t_5847.html
HTTP/1.1" 200 27340 "-" "Baiduspider+(+http://www.baidu.com/search/spider.htm)"
61.135.146.197 - - [01/Jan/2007:00:02:41 +0800] "GET /showthread-t_6489-goto
_nextoldest.html HTTP/1.1" 200 28652 "-" "Baiduspider+(+http://www.baidu.com/search/spider.htm)"
220.181.19.189 - - [01/Jan/2007:00:02:50 +0800] "GET /showthread.php?t=5436&goto=nextoldest HTTP/1.1" 200 22979
"-" "sogou spider"



想把: -s_976f23920f3a78878825cf47eaf8f39b 等过滤掉
grep old.log   ......      > new.log
去掉里面的 -s_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
或者 s=xxxxxxxxxxxxxxxxxxxxxxx&
或者 ?s=xxxxxxxxxxxxxxxxxxxxxxx

谢谢!

[ 本帖最后由 lendy 于 2007-4-20 10:36 编辑 ]

论坛徽章:
0
2 [报告]
发表于 2007-04-20 10:48 |只看该作者
试试

  1. sed -r 's/(-|\?)?s(_|=)+[[:alnum:]]+(&)?//' urfile
复制代码

[ 本帖最后由 davistar 于 2007-4-20 10:59 编辑 ]

论坛徽章:
0
3 [报告]
发表于 2007-04-20 10:57 |只看该作者
就去掉这个呢?
-s_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx

一起有问题。

论坛徽章:
0
4 [报告]
发表于 2007-04-20 11:05 |只看该作者
我这没事啊 贴出来看看

论坛徽章:
0
5 [报告]
发表于 2007-04-20 11:08 |只看该作者
http的url里面参数中可能含有转义字符...%...不知道是不是因为这个特殊的符号影响了正则表达式...

论坛徽章:
0
6 [报告]
发表于 2007-04-20 11:09 |只看该作者
这个

61.135.146.197 - - [01/Jan/2007:00:00:01 +0800] "GET /forumdisplay.php?s=4618ee6c4e479b2adedcecb7415e33ae&f=16
HTTP/1.1" 200 14018 "-" "Baiduspider+(+http://www.baidu.com/search/spider.htm)"

变成

61.135.146.197 - - [01/Jan/2007:00:00:01 +0800] "GET /forumdisplay.phpf=16 HTTP/1.1" 200 14018 "-" "Baiduspider
+(+http://www.baidu.com/search/spider.htm)"

应该是:
61.135.146.197 - - [01/Jan/2007:00:00:01 +0800] "GET /forumdisplay.php?f=16 HTTP/1.1" 200 14018 "-" "Baiduspider
+(+http://www.baidu.com/search/spider.htm)"

去掉的有点多了。

所以一个一个试试,会不会有问题。

论坛徽章:
0
7 [报告]
发表于 2007-04-20 11:17 |只看该作者
遇到这个怎么去掉

  1. ?s=4618ee6c4e479b2adedcecb7415e33ae&
复制代码


你没说明白啊

论坛徽章:
0
8 [报告]
发表于 2007-04-20 11:19 |只看该作者
上面这个传递多了参数:
?s=4618ee6c4e479b2adedcecb7415e33ae& 变成 ?
用|写三个独立的好像简单些....

论坛徽章:
0
9 [报告]
发表于 2007-04-20 11:20 |只看该作者
?s=4618ee6c4e479b2adedcecb7415e33ae&

去掉
s=4618ee6c4e479b2adedcecb7415e33ae&

如果后面没有&
如 ?s=4618ee6c4e479b2adedcecb7415e33ae
那都去掉

有点麻烦。所以就
去掉 -s_4618ee6c4e479b2adedcecb7415e33ae 算了,以上的太麻烦,还要判断。

论坛徽章:
0
10 [报告]
发表于 2007-04-20 11:23 |只看该作者
我觉得也应该写3个,这样它可以一个一个下去。
如果是:-s_4618ee6c4e479b2adedcecb7415e33ae格式
先都去掉
然后是 ?s=4618ee6c4e479b2adedcecb7415e33ae& 格式
去掉 s=4618ee6c4e479b2adedcecb7415e33ae&
那么最后肯定只有: ?s=4618ee6c4e479b2adedcecb7415e33ae 格式的了。
那就去掉:?s=4618ee6c4e479b2adedcecb7415e33ae 就好了。
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP