perl 统计IP

[root@june3 ~]#  grep '[0-9]{1,3}.[0-9]{1,3}.[0-9]{1,3}.[0-9]{1,3}' log.txt  | awk -F ':' '{print $1}'| awk '{a[$1]=a[$1]+1} END{for (i in a) print i,a[i]}' 
1.1.1.1 4
2.2.2.2 6
10.1.1.1 3
[root@june3 ~]# cat sum.pl 
if ( $#ARGV < 0 ){  
        print "please input your file!
";
        exit(-1);  
    } 
$logfile= $ARGV[0];  
my %log;
open (LOG ,"<","$logfile");
while (<LOG>) {
chomp;
if ($_ =~ /(d{1,3}.d{1,3}.d{1,3}.d{1,3})/){
$var= (split /:/,$_)[0];
$log{$var}++;
}
}
#print  %log;
while(my($ip, $times) = each %log) {
     print "$ip  $times
";
}
[root@june3 ~]# perl sum.pl log.txt 
1.1.1.1  4
10.1.1.1  3
2.2.2.2  6
[root@june3 ~]#

原文地址:https://www.cnblogs.com/hzcya1995/p/13351863.html