Chinaunix

标题: 关于处理域名的正则表达示怎么写~? [打印本页]

作者: itasen    时间: 2009-04-24 14:57
标题: 关于处理域名的正则表达示怎么写~?
要求:

www.badu.com
bbb.baidu.com
a.www.baidu.com
c.www.baidu.com
ooo.baidu.com.cn
ccc.baidu.com.cn

就是想知道访问了哪些网站..不需要www...bbb...a.....c.....oooo .......cccc这类的.因为都是baidu.com或baidu.com.cn的..

就是将这些东西合并取其域名...baidu.com或baidu.com.cn  com右边的也可能还有更多级但不用管.
就是将com前面的一级合起来就行.
作者: waker    时间: 2009-04-24 15:03
grep -o '[^.]*\.com' urfile
作者: itasen    时间: 2009-04-24 15:14
谢楼上的...不过可能是我说的不够详细...不仅针对这种的..是要针对所有域名的变化的..


www.sina.com
bbb.sina.com.cn

www.baidu.org.cn
aaa.baidu.org
ccc.baidu.org

ddd.google.cn
yyy.shou.net.cn

...................................等等所有域名

要求结果如下:

sina.com.cn
sina.com

baidu.org.cn
baidu.org

google.cn
shou.net.cn

要这种的.谢谢~
作者: 我是DBA    时间: 2009-04-24 15:22
去g.cn搜索一下域名正则
作者: itasen    时间: 2009-04-24 15:23
晕倒...这种的我怎么搜啊..搜一天.相关的了..没找到....所以请高手指点啊..谢谢
作者: ywlscpl    时间: 2009-04-24 15:32
awk '{print gensub(/^[^\.]+\.(.*)/,"\\1",1)}' file
作者: xiaobaibbb    时间: 2009-04-24 15:35
这样?

root@debian:~/test# cat ab
www.sina.com
bbb.sina.com.cn
www.baidu.org.cn
aaa.baidu.org
ccc.baidu.org
ddd.google.cn
yyy.shou.net.cn
root@debian:~/test# sed 's/^[0-9a-zA-Z]*\.//' ab
sina.com
sina.com.cn
baidu.org.cn
baidu.org
baidu.org
google.cn
shou.net.cn
作者: 我是DBA    时间: 2009-04-24 15:40
标题: 回复 #3 itasen 的帖子
全部都是二级域名吗?
没有三级、四级之类的?
作者: luyi1983    时间: 2009-04-24 18:07
哈哈
据说 通用的域名regex 好几百行了
lz 能列举你的情况 或者你就是要通用的。。。
作者: 我是DBA    时间: 2009-04-24 18:24
标题: 回复 #9 luyi1983 的帖子
如果要通用的话是比较麻烦,如果有规律的话,或者都是二级域名的话就比较好处理。




欢迎光临 Chinaunix (http://bbs.chinaunix.net/) Powered by Discuz! X3.2