- 论坛徽章:
- 7
|
biru:- #!/usr/bin/perl
- my $log = 'mytestlog';
- open my $f, $log or die "$log: $!";
- my ( %ip, %id, %url );
- while (<$f>) {
- my $url = ( split /"/, $_, 3 )[1];
- $url = substr $url, 4;
- next unless $url;
- my ( $ip, $appid ) = /^(\S+).*?appid=(\w+)/;
- next unless $appid;
- $url{$url}{times}++;
- $ip{$ip}{times}++;
- $id{$appid}{times}++;
- $ip{$ip}{url}{$url} = 1;
- $ip{$ip}{appid}{$appid} = 1;
- $url{$url}{ip}{$ip} = 1;
- $url{$url}{appid}{$appid} = 1;
- $id{$appid}{url}{$url} = 1;
- $id{$appid}{ip}{$ip} = 1;
- }
- while ( my ( $k, $v ) = each %id ) {
- next if length $k != 6;
- print "appid:\t", $k, $/;
- print "times:\t", $v->{times}, $/;
- print "url:\t", join( ', ', keys %{ $v->{url} } ), $/;
- print "ip:\t", join( ', ', keys %{ $v->{ip} } ), $/, $/;
- }
- print $/;
- while ( my ( $k, $v ) = each %ip ) {
- next if $v->{times} < 1000;
- print "ip:\t$k$/";
- print "times:\t$v->{times}$/";
- print "url:\t", join( ', ', keys %{ $v->{url} } ), $/;
- print "appid:\t", join( ', ', keys %{ $v->{appid} } ), $/, $/;
- }
- print $/;
- while ( my ( $k, $v ) = each %url ) {
- next if $v->{times} < 1000;
- print "url:\t$k$/";
- print "times:\t$v->{times}$/";
- print "ip:\t", join( ', ', keys %{ $v->{ip} } ), $/;
- print "appid:\t", join( ', ', keys %{ $v->{appid} } ), $/, $/;
- }
复制代码 |
|