- 论坛徽章:
- 3
|
组合
本帖最后由 mcshell 于 2012-09-26 23:39 编辑
回复 1# aixabc
这样? 我多添加了一行做了下测试- #!/usr/bin/perl
- use strict;
- use warnings;
- my %hash;
- my $date;
- my %tmp;
- map{
- my $group=$_->[2]." ".$_->[3]." ".$_->[4];
- push @{$hash{$_->[0]}},conver_date($_->[1]),$group;
- }map{[(split/\s+/,$_,7)[1,2,3,4,5]]}<DATA>;
- map{
- $date=$_;
- #push @{$hash{$date}},@{$hash{$_}}[0]++;
- print "$_\t";
- foreach (@{$hash{$date}}){
- $tmp{$_}++;
- }
- print "$_," for sort keys %tmp;
- print "#因测试所致, 对应用没有影响,可以忽略\n";
- }( keys %hash);
- sub conver_date{
- my $date = shift;
- my $month;
- my $day;
- if ($date =~ /(\d)(\d)(\d)(\d)\d{4}$/){
- my $month_1 = $1;
- my $day_1 = $3;
- $month=$month_1 ? "$1$2": $2 ;
- $day=$day_1 ? "$3$4" : $4;
- }
- return $month."月".$day."日";
- }
- __DATA__
- 1 testa 07112012 ERROR CODE A #因测试所致, 对应用没有影响,可以忽略。
- 2 testb 07112012 ERROR CODE A #因测试所致, 对应用没有影响,可以忽略。
- 3 testa 07122012 ERROR CODE A #因测试所致, 对应用没有影响,可以忽略。
- 4 testb 07122012 ERROR CODE A #因测试所致, 对应用没有影响,可以忽略。
- 5 testa 07112012 ERROR CODE B #因更改测试参数所致, 对应用没有影响,可以忽略。
- 6 testb 07112012 ERROR CODE B #因更改测试参数所致, 对应用没有影响,可以忽略。
- 7 testa 07122012 ERROR CODE B #因更改测试参数所致, 对应用没有影响,可以忽略。
- 8 testb 07122012 ERROR CODE B #因更改测试参数所致, 对应用没有影响,可以忽略。
- 9 testc 08122012 ERROR CODE B #因更改测试参数所致, 对应用没有影响,可以忽略。
- 9 testc 12122012 ERROR CODE B #因更改测试参数所致, 对应用没有影响,可以忽略。
复制代码- [root@elastix perl]# perl cu_hb9.pl
- testb 7月11日,7月12日,ERROR CODE A,ERROR CODE B,#因测试所致, 对应用没有影响,可以忽略
- testa 7月11日,7月12日,ERROR CODE A,ERROR CODE B,#因测试所致, 对应用没有影响,可以忽略
- testc 12月12日,7月11日,7月12日,8月12日,ERROR CODE A,ERROR CODE B,#因测试所致, 对应用没有影响,可以忽略
复制代码 |
|