#!/usr/bin/env perl use strict; use warnings; my %h; my %d; my %ser; my %met; my $x=0; while(){ next unless /\w/; my($server,$datetime,$metric,$value) = (split)[0,1,2,3]; $value =~ s/,//g ; my $ddhh = substr $datetime,0,13; my $dd = substr $datetime,0,10; $d{$dd }{$server}{$metric}{max} = ($x < $value) ? $value : $x; $d{$dd }{$server}{$metric}{min} = ($x > $value) ? $value : $x ; $h{$ddhh }{$server}{$metric}{max} = ($x < $value) ? $value : $x; $h{$ddhh }{$server}{$metric}{min} = ($x > $value) ? $value : $x ; $ser{$server} = 1; $met{$metric} = 1; } print "Frequency Hour:\ncollectionTime\n\n"; for my $key (sort keys %h){ print "$key "; for my $ser_key (sort keys %ser){ print "$ser_key "; for my $met_key (sort keys %met){ print " $met_key"; printf " %10s", $h{$key}{$ser_key}{$met_key}{max}; print " "; printf " %10s", $h{$key}{$ser_key}{$met_key}{min}; print " "; } } print "\n"; } __DATA__ server01: 2015-06-23T21:58:05-05:00 FC_IO_BY_R 13,550,785 MB server01: 2015-06-23T21:58:05-05:00 FC_IO_BY_W 6,892,224 MB server01: 2015-06-23T21:59:05-05:00 FC_IO_BY_R 13,551,835 MB server01: 2015-06-23T21:59:05-05:00 FC_IO_BY_W 6,892,339 MB server01: 2015-06-23T22:00:05-05:00 FC_IO_BY_R 13,552,066 MB server01: 2015-06-23T22:00:05-05:00 FC_IO_BY_W 6,892,433 MB server01: 2015-06-23T22:01:05-05:00 FC_IO_BY_R 13,553,303 MB server01: 2015-06-23T22:01:05-05:00 FC_IO_BY_W 6,892,590 MB server01: 2015-06-23T22:02:05-05:00 FC_IO_BY_R 13,555,006 MB server01: 2015-06-23T22:02:05-05:00 FC_IO_BY_W 6,892,836 MB server01: 2015-06-23T22:03:05-05:00 FC_IO_BY_R 13,556,007 MB server01: 2015-06-23T22:03:05-05:00 FC_IO_BY_W 6,892,961 MB server01: 2015-06-23T22:04:05-05:00 FC_IO_BY_R 13,556,201 MB server01: 2015-06-23T22:04:05-05:00 FC_IO_BY_W 6,893,086 MB server01: 2015-06-23T22:05:05-05:00 FC_IO_BY_R 13,556,408 MB server01: 2015-06-23T22:05:05-05:00 FC_IO_BY_W 6,893,208 MB server02: 2015-06-23T21:58:54-05:00 FC_IO_BY_R 13,470,021 MB server02: 2015-06-23T21:58:54-05:00 FC_IO_BY_W 7,431,544 MB server02: 2015-06-23T21:59:54-05:00 FC_IO_BY_R 13,470,381 MB server02: 2015-06-23T21:59:54-05:00 FC_IO_BY_W 7,431,642 MB server02: 2015-06-23T22:00:54-05:00 FC_IO_BY_R 13,471,003 MB server02: 2015-06-23T22:00:54-05:00 FC_IO_BY_W 7,431,760 MB server02: 2015-06-23T22:01:54-05:00 FC_IO_BY_R 13,471,334 MB server02: 2015-06-23T22:01:54-05:00 FC_IO_BY_W 7,431,980 MB server02: 2015-06-23T22:02:54-05:00 FC_IO_BY_R 13,471,629 MB server02: 2015-06-23T22:02:54-05:00 FC_IO_BY_W 7,432,196 MB server02: 2015-06-23T22:03:54-05:00 FC_IO_BY_R 13,471,947 MB server02: 2015-06-23T22:03:54-05:00 FC_IO_BY_W 7,432,307 MB server02: 2015-06-23T22:04:54-05:00 FC_IO_BY_R 13,472,575 MB server02: 2015-06-23T22:04:54-05:00 FC_IO_BY_W 7,432,418 MB server02: 2015-06-23T22:05:54-05:00 FC_IO_BY_R 13,473,473 MB server02: 2015-06-23T22:05:54-05:00 FC_IO_BY_W 7,432,586 MB