linux统计出现次数top3的url

来源:互联网 发布:淘宝指数 编辑:程序博客网 时间:2024/05/22 12:25

对文件中的以下网址排序,统计出出现次数排名top3的网址。

文件名:

web.txt plaincopy

  1.   
[plain] view plaincopy
  1. http://www.google.com  
  2. http://www.baidu.com  
  3. http://www.sina.com  
  4. http://www.bjtu.edu.cn  
  5. http://www.codeproject.com  
  6. http://www.csdn.com  
  7. http://www.sohu.com  
  8. http://www.yahoo.com  
  9. http://mail.163.com  
  10. http://www.bjtu.edu.cn  
  11. http://www.codeproject.com  
  12. http://www.csdn.com  
  13. http://www.sohu.com  
  14. http://www.yahoo.com  
  15. http://mail.163.com  
  16. http://www.codeproject.com  
  17. http://www.csdn.com  
  18. http://www.sohu.com  
  19. http://www.yahoo.com  
  20. http://mail.163.com  
  21. http://www.qq.com  
  22. http://www.hao123.com  
  23. http://www.163.com  
  24. http://youku.com  
  25. http://taobao/com  
  26. http://www.bjtu.edu.cn  
  27. http://www.codeproject.com  
  28. http://www.csdn.com  
  29. http://www.sohu.com  
  30. http://www.yahoo.com  
  31. http://mail.163.com  
  32. http://www.codeproject.com  
  33. http://www.csdn.com  
  34. http://www.sohu.com  
  35. http://www.yahoo.com  
  36. http://mail.163.com  
  37. http://www.qq.com  
  38. http://www.hao123.com  
  39. http://www.163.com  
  40. http://youku.com  
  41. http://taobao/com  

shell脚本如下:

#!/bin/bash
foo()
{
    if [ $# -ne 1 ];
    then
       exit -1
    fi
    filename=$1
    egrep -o "http://[a-zA-Z0-9.]+\.[a-zA-Z]{2,3}" $filename | \
    awk '{ count[$0]++ }
    END{
      printf("%-30s%s\n","winsit","count");
      for(ind in count)
      {
          printf("%-30s%d\n",ind,count[ind]);
      }
    }'
}
foo web.txt | sort -nrk 2 | head -3 >websort2.txt   #sort命令  -n:【纯数字】类型  -r :倒序  -k:指定对哪个Filed(字段)进行排序

输出websort2.txt内容如下:

http://www.yahoo.com          5
http://www.sohu.com           5
http://www.csdn.com           5


0 0
原创粉丝点击