6.6

  博客园 :: 首页 :: 新随笔 :: 联系 :: 订阅 :: 管理 ::

转 --处理以下文件内容,将域名取出并进行计数排序

处理以下文件内容,将域名取出并进行计数排序,如处理:(百度和sohu面试题)

oldboy.log

 http://www.etiantian.org/index.html

 http://www.etiantian.org/1.html

 http://post.etiantian.org/index.html

 http://mp3.etiantian.org/index.html

 http://www.etiantian.org/3.html

 http://post.etiantian.org/2.html

参考:

分析:此类问题是运维工作中最常见的问题。可以演变成分析日志,查看TCP各个状态连接数,查看单IP连接数排名等等

第一类 过滤域名方法

方法很多 老男孩这里给出六种 为例。还可以写出几种 留给大家了。哈哈

法一:

[root@oldboy ~]# cut -d "/" -f 3 oldboy.log |sort|uniq -c

      1 mp3.etiantian.org

      2 post.etiantian.org

      3 www.etiantian.org

法二:

[root@oldboy ~]# awk -F "/" '{print $3}' oldboy.log |sort|uniq -c

      1 mp3.etiantian.org

      2 post.etiantian.org

      3 www.etiantian.org

法三:

[root@oldboy ~]# sed 's/^ htt.*\/\///g' oldboy.log |sed 's/\/.*html$//g'|sort|uniq -c

      1 mp3.etiantian.org

      2 post.etiantian.org

      3 www.etiantian.org

法四:

[root@oldboy ~]# cat oldboy.log |tr "\/" "\n"|grep etiantian|sort|uniq -c

      1 mp3.etiantian.org

      2 post.etiantian.org

      3 www.etiantian.org

第二类:

法五:

[root@oldboy ~]#  cut -d "/" -f 3 test.log|awk '{++S[$1]} END {for(key in S) print key,S[key]}'|sort -k2

mp3.etiantian.org 1

post.etiantian.org 2

www.etiantian.org 3

 

法六:

一个利用AWK数组综合解决方法

[root@oldboy ~]# awk -F "/" '{++S[$3]} END {for(key in S) print key,S[key]}' oldboy.log|sort -k2

mp3.etiantian.org 1

post.etiantian.org 2

www.etiantian.org 3

posted on 2012-06-14 19:44  6.6  阅读(396)  评论(0)    收藏  举报