in reply to Re^7: new : greping
in thread new : greping
is my final code and i couldn't get the date stamp. that's the only problem !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'); $worksheet->write ("E1", 'avm'); $worksheet->write ("F1", 'fre'); $worksheet->write ("G1", 'cs'); $worksheet->write ("H1", 'us'); $worksheet->write ("I1", 'sy'); $worksheet->write ("J1", 'id'); $worksheet->write ("K1", 'Date'); 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+.* +?avm\s+.*?fre\s+.*?cs\s+.*?us\s+.*?sy\s+.*?id\s+.*?(\d+)\s+(\d+)\s+(\ +d+)\s+(\d+)\s+(\d+)\s+(\d+)\s+(\w+)/i) ($line =~ /(\d+)%\s+\/var\s+(\d+).*?(\d+)%\s+Interleaved\s+.*?avm +\s+.*?fre\s+.*?cs\s+.*?us\s+.*?sy\s+.*?id\s+.*?GMT\s+(\d\d:\d\d:\d\d) +\s+(\d+)\s+(\d+)\s+(\d+)\s+(\d+)\s+(\d\d):(\d\d):(\d\d)\s+(\w+)/i) #($line =~ /(\d+)%\s+\/var\s+(\d+).*?(\d+)%\s+Interleaved\s+.*?avm +\s+.*?fre\s+.*?id\s+.*?\s+(\d+)\s+(\d+)\s+(\w+)/i) #($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"); $worksheet->write("E$row", "$4"); $worksheet->write("F$row", "$5"); $worksheet->write("G$row", "$6"); $worksheet->write("H$row", "$7"); $worksheet->write("I$row", "$8"); $worksheet->write("j$row", "$9"); $worksheet->write("j$row", "$10"); ++$row; print "$device $1, $2, $3, $4, $5, $6, $7, $8, $9, $10\n"; } $device = $nextDevice; $line = ''; } close inFile; $workbook->close ();
|
|---|