Small Perl for forget
#!/usr/perl/bin/perl open(FHD, "c:\\ccytest\\perftest.txt") || die("cna't open the file\n"); open(OFH, ">c:\\ccytest\\result.txt") || die("cna't open the file\n"); my $lineCount = 0; my %hash; my $chunkcount = 0; my $ir1; my $ir2; while($line = <FHD>) { $lineCount++; if($lineCount < 1000000) { chomp($line); my ($r1,$r2,$r3) = split(/\|/, $line); $r1=~s/^\s+|\s+$//g; $r3=~s/^\s+|\s+$//g; if($r3=~/^begin/i) { #print "$lineCount $line \n"; #print "$r1 $r3 \n"; ($ir1,$ir2) = split(/\s+/, $r3); #print "$ir1 , $ir2 \n"; $ir2=~s/^\s+|\s+$//g; $hash{$ir2}= $r1; } elsif($r3=~/^end/i) { #print "$lineCount $line \n"; #print "$r1 $r3 $r3 \n"; ($ir1,$ir2) = split(/\s+/, $r3); $ir2=~s/^\s+|\s+$//g; #print "$ir1 $ir2 \n"; my $time = &CalTime($hash{$ir2}, $r1); if($ir2 =~ /^ReadNextChunk$/) { $chunkcount++; #print OFH "$chunkcount "; } print OFH "$time "; #delete $hash{$r1}; if($ir2 =~ /^DeliverImportedRows$/) { print OFH "\n";} } else { #print "$r3\n"; #last; next; } } } close(FHD); close(OFH); open(FHD, "c:\\ccytest\\result.txt") || die("cna't open the file\n"); my @carr; my $countl= 0; while($line = <FHD>) { chomp($line); @arr = split(/\s+/, $line); #print "$arr[0], $arr[1]\n"; $countl++; if($countl < 61) { my $length = @arr; for(my $i =0; $i<$length; $i++ ) { $carr[$i] += $arr[$i]; } } } open(OFH, ">>c:\\ccytest\\result.txt") || die("cna't open the file\n"); print OFH "\n"; foreach $num (@carr) { print OFH "$num "; } print OFH "\n"; my $tt= &CalTime("06:30:00.785", "06:38:17.066"); print "$tt\n"; close(FHD); sub CalTime() { my ($t1,$t2) = @_; my ($t11,$t12,$t13) = split(/\:/, $t1); my ($t131,$t132) = split(/\./, $t13); my ($t21,$t22,$t23) = split(/\:/, $t2); my ($t231,$t232) = split(/\./, $t23); my $totaltime; my $hour; my $min; my $second; my $msecond; if($t21 - $t11 < 0) { $hour = $t21+24 - $t11; } else { $hour = $t21 - $t11; } $min = $t22 - $t12; $second = $t231 - $t131; $msecond = $t232 - $t132; $totaltime = $hour * 3600 * 1000 + $min * 60 * 1000 + $second * 1000 + $msecond; #print "$t11,$t12,$t13 :: $t21,$t22,$t23\n"; return $totaltime; }
just for record, because some command forget very quickly