Thread Datei durchsuchen; Ergebnisse formatieren
(12 answers)
Opened by zottel500 at 2007-08-21 14:15
Mit der oben gezeigten Beispiel-Datei funktioniert das hier:
Code (perl): (dl
)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 #!/usr/bin/perl use strict; # sollte Pflicht sein, siehe auch im Wiki (FAQ) use warnings; my @filter = ("failure","bla"); # hier noch weiter Filterworte eintragen my $file = 'logbeispiel.txt'; my $outfile = 'logout.txt'; my $application = 'ClusterService'; my $severity = 'critical'; my @lines; my $re = join '|', @filter; { # aendere den "input_separator" (siehe perldoc perlvar) local $/ = "\n====="; open my $fh, '<', $file or die $!; # gehe durch die ganze Datei while( my $line = <$fh> ){ chomp $line; # wenn eines der gesuchten Worte in der Zeile steht if( $line =~ /MESSAGE: (?:$re)/ ){ my ($timestamp) = $line =~ /\n\w+\s\w+\s\w{3}\s\w{3}\s\d{2}\s(\d+:\d+:\d+)/; my ($hostname) = $line =~ /on Node: (\w+)/; my ($message) = $line =~ /MESSAGE: (.*)/; my $entry = sprintf "%s::%s::%s::%s::%s", $timestamp, $application, $severity, $hostname, $message; push @lines, $entry; } } } open my $out, '>', $outfile or die $!; print $out $_,"\n" for @lines; close $out or die $!; OTRS-Erweiterungen (http://feature-addons.de/)
Frankfurt Perlmongers (http://frankfurt.pm/) -- Unterlagen OTRS-Workshop 2012: http://otrs.perl-services.de/workshop.html Perl-Entwicklung: http://perl-services.de/ |