[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 ~]#
perl 统计IP
转载本文章为转载内容,我们尊重原作者对文章享有的著作权。如有内容错误或侵权问题,欢迎原作者联系我们进行内容更正或删除文章。
上一篇:利用perl 改写awk统计
下一篇:perl do
提问和评论都可以,用心的回复会被更多人看到
评论
发布评论
相关文章