Subversion Repositories zfs_utils

Rev

Blame | Last modification | View Log | Download | RSS feed

#! /usr/bin/env perl

use strict;
use warnings;

my %data;

while ( my $line = <> ) {
   chomp $line;
   my ($date, $time, $dataset, $seconds, $bytes) = split /\s/, $line;
   $data{$date}{$dataset}{'size'} = $bytes;
   $data{$date}{$dataset}{'time'} = $seconds;
}

my @dates = sort keys %data;
my %datasets;
foreach my $ds ( @dates ) {
   foreach my $set ( keys %{$data{$ds}} ) {
      $datasets{$set}++;
   }
}

my @report;
push @report, "Date\t" . join( "\t\t", sort keys %datasets );
foreach my $dates ( @dates ) {
   my @line;
   push @line, $dates;
   foreach my $column ( sort keys %datasets ) {
      push @line, $data{$dates}{$column}{'size'} ? $data{$dates}{$column}{'size'} : '';
      push @line, $data{$dates}{$column}{'time'} ? $data{$dates}{$column}{'time'} : '';
   }
   push @report, join( "\t", @line );
}

print join( "\n", @report ) . "\n";
1;