[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 ~]#