#!/usr/bin/perl
use strict;
use warnings;
use Getopt::Long;
use Date::Calc qw(:all);
my $input_file = undef;
GetOptions (
"input=s" => \$input_file,
);
open INPUT, $input_file
or die "Can't open $input_file for input: $!";
my @files = undef; #list of files to run script on
while(my $line = ){
chomp($line);
push @files, $line;
}
for(my $i=1; $i < scalar @files; $i++) {
if(-e $files[$i]){
open IN, "gunzip -c $files[$i]|"
or die "Can't open $files[$i] for input: $!";
open OUT, "> $files[$i]_out.txt"
or die "Can't open $files[$i]_out.txt for output: $!";
my $firstline = 1;
my @dt = undef; # date and time
my @date1 = undef;
my @date2 = undef;
if($firstline==1){ #extract header line and get start and end date from line
chomp(my $line = );
my @header = split(/,/, $line);
@dt= $header[0] =~ /(\d+)/g;
@date1 = ($dt[0], $dt[1], $dt[2], $dt[3], $dt[4], $dt[5]);
@date2 = ($dt[6], $dt[7], $dt[8], $dt[9], $dt[10], $dt[11]);
$firstline = 0;
} else {
for 1..1
}
print OUT "Date\tTime\tDay\tmg\n"; #print title
my $count = 0;
while(my $line1 = ){ #whilst reading file get 12 lines and print time and print average of 12 lines
chomp($line1);
my @mg1 = split(/,/, $line1);
my $line2 = ;
chomp($line2);
my @mg2 = split(/,/, $line2);
my $line3 = ;
chomp($line3);
my @mg3 = split(/,/, $line3);
my $line4 = ;
chomp($line4);
my @mg4 = split(/,/, $line4);
my $line5 = ;
chomp($line5);
my @mg5 = split(/,/, $line5);
my $line6 = ;
chomp($line6);
my @mg6 = split(/,/, $line6);
my $line7 = ;
chomp($line7);
my @mg7 = split(/,/, $line7);
my $line8 = ;
chomp($line8);
my @mg8 = split(/,/, $line8);
my $line9 = ;
chomp($line9);
my @mg9 = split(/,/, $line9);
my $line10 = ;
chomp($line10);
my @mg10 = split(/,/, $line10);
my $line11 = ;
chomp($line11);
my @mg11 = split(/,/, $line11);
my $line12 = ;
chomp($line12);
my @mg12 = split(/,/, $line12);
my ($y, $mo, $d, $h, $m, $s) = Add_Delta_DHMS(@date1, 0, 0, $count, 0);
printf OUT qq(%d-%02d-%02d %02d:%02d:%02d), $y, $mo, $d, $h, $m, $s;
print OUT "\t" . Day_of_Week($y, $mo, $d);
print OUT "\t" . (($mg1[0]+$mg2[0]+$mg3[0]+$mg4[0]+$mg5[0]+$mg6[0]+$mg7[0]+$mg8[0]+$mg9[0]+$mg10[0]+$mg11[0]+$mg12[0])/12) . "\n";
$count +=1
}
close IN;
close OUT
}
}