[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!\n";
        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\n";
}
[root@june3 ~]# perl sum.pl log.txt 
1.1.1.1  4
10.1.1.1  3
2.2.2.2  6
[root@june3 ~]#