Hi
I'm pretty new to PERL so please bear with me:D
I have a df output which I need to add the used of each filesystem
Example:
anmtl004 /dev/hd4 320 37% 4253 8% / rootvg
anmtl004 /dev/fslv01 2048 10% 71 1% /IBMperfpmr rootvg
anmtl004 /dev/hd11admin 128 1% 5 1% /admin rootvg
anmtl004 /dev/fslv00 256 43% 371 2% /appl/cyb_agent rootvg
anmtl004 mtlhqnasa:/vol/nonprod01/trd/rec 943718 77% 18817636 60% /appl/rec
anmtl004 mtlhqnasa:/vol/nonprod01/trd/bwarchive 943718 77% 18817636 60% /archive
anmtl004 /dev/lvaudit 512 5% 368 1% /audit rootvg
anmtl004 mtlhqnasa:/vol/nonprod01/cn_dev 943718 77% 18817636 60% /cn_dev
anmtl004 /dev/lvSAPdb2 1024 1% 15 1% /db2 vgSAP
anmtl004 mtlhqnasa.cn.ca:/vol/fixes 209141 83% 51782 1% /fixes
anmtl004 /dev/hd1 512 5% 1403 2% /home rootvg
anmtl004 /dev/lvlogs 256 12% 194 1% /logs rootvg
anmtl004 /dev/hd10opt 256 66% 3201 14% /opt rootvg
anmtl004 /proc - - - - /proc
anmtl004 mtlhqnasa:/vol/nonprod00/sapmnt_bd3 943718 74% 4928053 16% /sapmnt/BD3
anmtl004 mtlhqnasa:/vol/nonprod00/trd/sapmnt_bx2 943718 74% 4928053 16% /sapmnt/BX2
anmtl004 mtlhqnasa:/vol/nonprod00/trd/sapmnt_ed1 943718 74% 4928053 16% /sapmnt/ED1
anmtl004 mtlhqnasa:/vol/nonprod00/trd/sapmnt_ex1 943718 74% 4928053 16% /sapmnt/EX1
anmtl004 mtlhqnasa:/vol/nonprod00/trd/sapmnt_wx1 943718 74% 4928053 16% /sapmnt/WX1
anmtl004 /dev/hd3 2048 1% 227 1% /tmp rootvg
anmtl004 /dev/hd2 4416 80% 47078 16% /usr rootvg
anmtl004 /dev/lvSAPusr 5120 4% 215 1% /usr/sap vgSAP
anmtl004 /dev/lvSAPDBD3usr 128 1% 21 1% /usr/sap/BD3 vgSAPD
anmtl004 /dev/lvSAPDBD3ascs 1024 13% 109 1% /usr/sap/BD3/ASCS08 vgSAPD
anmtl004 /dev/lvSAPDBD3aers 1024 24% 125 1% /usr/sap/BD3/ERS09 vgSAPD
anmtl004 /dev/lvSAPDBD3wd 3072 7% 557 1% /usr/sap/BD3/W07 vgSAPD
anmtl004 /dev/lvSAPDBX2usr 128 1% 22 1% /usr/sap/BX2 vgSAPX
anmtl004 /dev/lvSAPDBX2ascs 1024 7% 67 1% /usr/sap/BX2/ASCS13 vgSAPX
anmtl004 /dev/lvSAPDBX2aers 1024 21% 91 1% /usr/sap/BX2/ERS14 vgSAPX
anmtl004 /dev/lvSAPDBX2wd 3072 10% 378 1% /usr/sap/BX2/W12 vgSAPX
anmtl004 /dev/lvSAPDAD 5120 16% 3480 1% /usr/sap/DAD vgSAP
anmtl004 /dev/lvSAPXED1usr 128 1% 19 1% /usr/sap/ED1 vgSAPD
anmtl004 /dev/lvSAPXED1ers 1024 19% 79 1% /usr/sap/ED1/ERS04 vgSAPD
anmtl004 /dev/lvSAPXED1scs 1024 44% 178 1% /usr/sap/ED1/SCS03 vgSAPD
anmtl004 /dev/lvSAPXED1wd 1024 32% 392 1% /usr/sap/ED1/W02 vgSAPD
anmtl004 /dev/lvSAPXEX1usr 128 1% 19 1% /usr/sap/EX1 vgSAPX
anmtl004 /dev/lvSAPXEX1ers 1024 14% 76 1% /usr/sap/EX1/ERS19 vgSAPX
anmtl004 /dev/lvSAPXEX1scs 1024 35% 177 1% /usr/sap/EX1/SCS18 vgSAPX
anmtl004 /dev/lvSAPXEX1wd 1024 32% 406 1% /usr/sap/EX1/W17 vgSAPX
anmtl004 /dev/lvSAPXWX1usr 128 1% 19 1% /usr/sap/WX1 vgSAPX
anmtl004 /dev/lvSAPXWX1ers 1024 20% 42 1% /usr/sap/WX1/ERS81 vgSAPX
anmtl004 /dev/lvSAPXWX1scs 1024 61% 194 1% /usr/sap/WX1/SCS80 vgSAPX
anmtl004 /dev/lvSAPXWX1wd 1024 31% 380 1% /usr/sap/WX1/W79 vgSAPX
anmtl004 mtlhqnasa:/vol/nonprod02/nasd_hostagent_depot 943718 18% 643102 3% /usr/sap/hostagent_depot
anmtl004 mtlhqnasa:/vol/prod00/saptrans_bw 322560 86% 2384871 9% /usr/sap/transBW
anmtl004 mtlhqnasa:/vol/prod00/saptrans_bwj 322560 86% 2384871 9% /usr/sap/transBWJ
anmtl004 /dev/hd9var 896 49% 1727 2% /var rootvg
anmtl004 /dev/livedump 256 1% 4 1% /var/adm/ras/livedump rootvg
This is what I have
#Build a lookup table
open (F,"report_df.csv") || die ("File could not be open"); #Read file in
while ( <F> ) { #for every line do
my @line = split (","); #Put each line in an array and split it at every ","
my $host = $line[0]; #Every field needed is assigned a variable
my $filesystem = $line[1];
my $alloc_mb = $line[2];
my $pct_used = $line[3];
my $vg = $line[7];
$fs{$host}{$vg}{$filesystem}{"ALLOC_MB"} = $alloc_mb; #Build the hash
$fs{$host}{$vg}{$filesystem}{"PCT_USED"} = $pct_used;
}
close F;
my @list_of_hosts = (sort keys %fs); #Build an array of every host
foreach my $host (@list_of_hosts) {
my @list_of_vg = (keys %{$fs{$host}});
foreach my $vg (@list_of_vg) {
my @list_of_fs = (keys %{$fs{$host}{$vg}});
foreach my $filesystem (@list_of_fs) {
my $alloc_mb = $fs{$host}{$vg}{$filesystem}{"ALLOC_MB"};
my $pct_used = $fs{$host}{$vg}{$filesystem}{"PCT_USED"};
my $free_space = (100 - $pct_used) * $alloc_mb;
print "$host, $filesystem, $vg\n";
}
}
}
So I need to add them now..
Thanks