user-agents.pl
上传用户:liugui
上传日期:2007-01-04
资源大小:822k
文件大小:1k
源码类别:

代理服务器

开发平台:

Unix_Linux

  1. #!/usr/bin/perl
  2. #
  3. # John@MCC.ac.uk
  4. # John@Pharmweb.NET
  5. require "getopts.pl";
  6. &Getopts('FML:');
  7. open (ACCESS, "/opt/Squid/logs/useragent.0");
  8. while (<ACCESS>) {
  9. ($host, $timestamp, $agent) = 
  10. /^(S+) [(.+)] "(.+)"s/;
  11. if ($agent ne '-') {
  12. if ($opt_M) {
  13.   $agent =~ tr/// /;
  14. $agent =~ tr/(/ /;
  15. }
  16. if ($opt_F) {
  17. next unless $seen{$agent}++;
  18. } else {
  19. @inline=split(/ /, $agent);
  20. next unless $seen{$inline[0]}++;
  21. }
  22. }
  23. }
  24. $total=0;
  25. if (!$opt_L) {$opt_L=0}
  26. print "Summary of User-Agent Stringsn(greater than $opt_L percent)nn";
  27. foreach $browser (keys(%seen)) {
  28.         $total=$total+$seen{$browser};
  29. }
  30. foreach $browser (sort keys(%seen)) {
  31. $percent=$seen{$browser}/$total*100;
  32. if ($percent >= $opt_L) { write; }
  33. }
  34. print "nnTotal entries in log = $totaln";
  35. format STDOUT =
  36. @>>>>>>> :@##.####% : @<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
  37. $seen{$browser}, $percent, $browser
  38. .