#!/usr/bin/perl
$out = "";
$temp = 0;
$volt = 0;
$volt_non = 0;
$temp_non = 0;
$total_crit_volt = 0;
$total_crit_temp = 0;
$total_noncrit_volt = 0;
$total_noncrit_temp = 0;
while (<stdin>) {
$out = $out . $_;
if (m!^u[0-9]{4}!) {
if ($node_now) {
if ($temp_non == 0 && $temp == 0 && $volt == 0) {
print "node $node_now : ok\n";
}
else
{
$out = sprintf("node %s : %3u critical temp, %3u non-critical temp; %3u critical voltage %3u non-critical voltage\n", $node_now, $temp, $temp_non, $volt, $volt_non);
print $out;
$total_crit_volt += ($volt > 0 ? 1 : 0);
$total_crit_temp += ($temp > 0 ? 1 : 0);
$total_noncrit_volt += ($volt_non > 0 ? 1 : 0);
$total_noncrit_temp += ($temp_non > 0 ? 1 : 0);
}
}
$_ =~ s/\s+//;
$node_now = $_;
$temp_non = 0;
$temp = 0;
$volt = 0;
$volt_non = 0;
}
if (m!^\=\=\=\=!) {
}
if ($node_now) {
if (m!Voltage.*Non-critical!) {
$volt_non++;
}
elsif (m!Voltage.*Critical!) {
$volt++;
}
if (m!Temperature.*Non-critical!) {
$temp_non++;
}
elsif (m!Temperature.*Critical!) {
$temp++;
}
}
}
if ($node_now) {
$out = sprintf("node %s : %3u critical temp, %3u non-critical temp; %3u critical voltage %3u non-critical voltage\n", $node_now, $temp, $temp_non, $volt, $volt_non);
print $out
}
print "Total nodes with critical voltages: " . $total_crit_volt . "\n";
print "Total nodes with non-critical voltages: " . $total_noncrit_volt . "\n";
print "Total nodes with critical temps: " . $total_crit_temp . "\n";
print "Total nodes with non-critical temps: " . $total_noncrit_temp . "\n";
--
MattWalsh - 25 Aug 2005