hi wfsp !
ogging to device1 is 2.3.5.1 . . .
56% /var
38% /
31% Interleaved
disks faults
avm fre cs us sy id
504956 19880 32 3 24 72
device1
Tue Sep 9 11:26:44 ist 2005
logging to device2 is 2.3.5.1 . . .
96% /var
88% /
100% Interleaved
disks faults
avm fre cs us sy id
5049 198 32 3 24 72
device2
Tue Sep 5 10:26:44 GMT 2005
logging to device5-PPP is 2.3.5.1 . . .
156% /var
138% /
131% Interleaved
disks faults
avm fre cs us sy id
956 190 32 3 24 72
device5-PPP
Tue Sep 9 11:26:44 ist 2005
logging to device8-PPm is 2.3.5.1 . . .
596% /var
688% /
100% Interleaved
device8-PPm
disks faults
avm fre cs us sy id
56 19880 32 3 24 72
Tue Sep 5 10:26:44 GMT 2005
this is the content of the logs we get !
and with the help of Grandfather we able to get a sort of partial output. but we need to get the values of avm,fre,id
which are in the next line seperated by spaces and also the time stamp thats displayed on the next line in the excel sheet !
this is the code we have now.
use warnings;
use strict;
use Spreadsheet::WriteExcel;
my $workbook = Spreadsheet::WriteExcel->new("data.xls");
my $worksheet = $workbook->add_worksheet();
$worksheet->write ("A1", 'Device');
$worksheet->write ("B1", '/var');
$worksheet->write ("C1", '/');
$worksheet->write ("D1", 'interleaved');
my $row = 2;
my $line = '';
my $device;
open inFile, '<', 'logs.txt' or die "Couldn't open data.txt: $!";
while (! eof inFile)
{
$line .= ' ' . <inFile>;
chomp $line;
next if ! ($line =~ /logging\sto\s(.*?)\s+/i) and ! eof inFile;
my $nextDevice = $1;
if ($line =~ /(\d+)%\s+\/var\s+(\d+).*?(\d+)%\s+Interleaved\s+(\w+)/
+i)
{
$worksheet->write("A$row", "$device");
$worksheet->write("B$row", "$1");
$worksheet->write("C$row", "$2");
$worksheet->write("D$row", "$3");
++$row;
print "$device $1, $2, $3\n";
}
$device = $nextDevice;
$line = '';
}
close inFile;
$workbook->close ();
i am making modifaication in the $line to grep the need.
<code>
-
Are you posting in the right place? Check out Where do I post X? to know for sure.
-
Posts may use any of the Perl Monks Approved HTML tags. Currently these include the following:
<code> <a> <b> <big>
<blockquote> <br /> <dd>
<dl> <dt> <em> <font>
<h1> <h2> <h3> <h4>
<h5> <h6> <hr /> <i>
<li> <nbsp> <ol> <p>
<small> <strike> <strong>
<sub> <sup> <table>
<td> <th> <tr> <tt>
<u> <ul>
-
Snippets of code should be wrapped in
<code> tags not
<pre> tags. In fact, <pre>
tags should generally be avoided. If they must
be used, extreme care should be
taken to ensure that their contents do not
have long lines (<70 chars), in order to prevent
horizontal scrolling (and possible janitor
intervention).
-
Want more info? How to link
or How to display code and escape characters
are good places to start.