免费注册 查看新帖 |

Chinaunix

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

求助:用awk统计站点出现次数 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2010-05-18 13:13 |只看该作者 |倒序浏览
例:给出一个文件,domain.txt,内容如下:
sina.com
baidu.com
sohu.com
google.com
另外有一个文件,sites.txt
www.sina.com
news.sohu.com
dl1.baidu.com
map.google.cn
www.baidu.com
sports.sina.com
finances.sohu.com
想请问下各位,如何用awk统计出每个域在sites.txt中出现的次数

论坛徽章:
0
2 [报告]
发表于 2010-05-18 13:25 |只看该作者
本帖最后由 where27 于 2010-05-18 13:48 编辑

回复 1# aximofu
  1. awk -F. '{a[$2"."$3]++}END{for(i in a)print i ,a[i]}' sites.txt
复制代码
我好像弄错了,这个是统计sites.txt中各个域出现的次数,这个是应该不是楼主要的,跳过吧

论坛徽章:
16
IT运维版块每日发帖之星
日期:2015-08-24 06:20:00综合交流区版块每日发帖之星
日期:2015-10-14 06:20:00IT运维版块每日发帖之星
日期:2015-10-25 06:20:00IT运维版块每日发帖之星
日期:2015-11-06 06:20:00IT运维版块每日发帖之星
日期:2015-12-10 06:20:00平安夜徽章
日期:2015-12-26 00:06:302016猴年福章徽章
日期:2016-02-18 15:30:34IT运维版块每日发帖之星
日期:2016-04-15 06:20:00IT运维版块每日发帖之星
日期:2016-05-21 06:20:00综合交流区版块每日发帖之星
日期:2016-08-16 06:20:002015七夕节徽章
日期:2015-08-21 11:06:17IT运维版块每日发帖之星
日期:2015-08-14 06:20:00
3 [报告]
发表于 2010-05-18 13:26 |只看该作者
grep sohu|wc -l

论坛徽章:
0
4 [报告]
发表于 2010-05-18 13:47 |只看该作者
  1. awk 'NR==FNR{a[$0]=0;next}{for(i in a)if($0~i)a[i]++}END{for(i in a)print i,a[i]}' domain.txt sites.txt
复制代码

求职 : 技术支持/维
论坛徽章:
0
5 [报告]
发表于 2010-05-18 14:16 |只看该作者
提示: 作者被禁止或删除 内容自动屏蔽

论坛徽章:
16
IT运维版块每日发帖之星
日期:2015-08-24 06:20:00综合交流区版块每日发帖之星
日期:2015-10-14 06:20:00IT运维版块每日发帖之星
日期:2015-10-25 06:20:00IT运维版块每日发帖之星
日期:2015-11-06 06:20:00IT运维版块每日发帖之星
日期:2015-12-10 06:20:00平安夜徽章
日期:2015-12-26 00:06:302016猴年福章徽章
日期:2016-02-18 15:30:34IT运维版块每日发帖之星
日期:2016-04-15 06:20:00IT运维版块每日发帖之星
日期:2016-05-21 06:20:00综合交流区版块每日发帖之星
日期:2016-08-16 06:20:002015七夕节徽章
日期:2015-08-21 11:06:17IT运维版块每日发帖之星
日期:2015-08-14 06:20:00
6 [报告]
发表于 2010-05-18 14:19 |只看该作者
本帖最后由 expert1 于 2010-05-18 14:27 编辑

awk 'NR==FNR{a[$0]}NR>FNR{for(i in a){if(match($0,i)==1)a++}}END{for(i in a){print i,a}}' domain sites

知道这个不对,因为match函数有问题,sohu.com和www.sohu.com匹配的时候这个if的match如何写啊高手们?

红色部分是a++,为什么发上来了是a++?

论坛徽章:
0
7 [报告]
发表于 2010-05-18 14:23 |只看该作者
while read line;do echo "$line:"$(grep -c $line sites.txt);done <domain.txt

字符少了不让发

求职 : 技术支持/维
论坛徽章:
0
8 [报告]
发表于 2010-05-18 14:30 |只看该作者
提示: 作者被禁止或删除 内容自动屏蔽

论坛徽章:
16
IT运维版块每日发帖之星
日期:2015-08-24 06:20:00综合交流区版块每日发帖之星
日期:2015-10-14 06:20:00IT运维版块每日发帖之星
日期:2015-10-25 06:20:00IT运维版块每日发帖之星
日期:2015-11-06 06:20:00IT运维版块每日发帖之星
日期:2015-12-10 06:20:00平安夜徽章
日期:2015-12-26 00:06:302016猴年福章徽章
日期:2016-02-18 15:30:34IT运维版块每日发帖之星
日期:2016-04-15 06:20:00IT运维版块每日发帖之星
日期:2016-05-21 06:20:00综合交流区版块每日发帖之星
日期:2016-08-16 06:20:002015七夕节徽章
日期:2015-08-21 11:06:17IT运维版块每日发帖之星
日期:2015-08-14 06:20:00
9 [报告]
发表于 2010-05-18 14:30 |只看该作者
awk 'NR==FNR{a[$0]}NR>FNR{for(i in a){if($0~i)a[i]++}}END{for(i in a){print i,a[i]}}' domain sites

这个没问题,if里如用match来做呢?高手告诉我啊

论坛徽章:
0
10 [报告]
发表于 2010-05-18 14:33 |只看该作者
回复 3# expert1


您这个可能不成,我是要从domain.txt那个文本中读取域名的,不是只有sohu
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP