1 2 3
my $zeile = '25.03.12_00:07:26 Beende backdb_stdb (pid=28948)'; my ($pid) = $zeile =~ /pid=(\d*)/; print "$pid\n";
2012-07-10T12:33:57 TaulmarillIch würde so etwas über eine Regulären Ausdruck lösen. Hier mal ein kleines Beispiel:
Code (perl): (dl )1 2 3my $zeile = '25.03.12_00:07:26 Beende backdb_stdb (pid=28948)'; my ($pid) = $zeile =~ /pid=(\d*)/; print "$pid\n";
2012-07-10T12:33:57 TaulmarillIch würde so etwas über eine Regulären Ausdruck lösen. Hier mal ein kleines Beispiel:
Code (perl): (dl )1 2 3my $zeile = '25.03.12_00:07:26 Beende backdb_stdb (pid=28948)'; my ($pid) = $zeile =~ /pid=(\d*)/; print "$pid\n";
Guest MuffiEr stünde auch in $pid
my ($pid) = $zeile =~ /pid=(\d*)/;
1 2 3 4 5 6 7 8 9 10 11 12 13
my %pids = (); for my $line (@lines) { if ($line =~ /Beginne.*pid=(\d+)/) { $pids{$1}++; } elsif ($line =~ /Beende.*pid=(\d+)/) { $pids{$1}--; } } for my $uebrig_pid (keys %pids) { say $pids{$uebrig_pid} if $pids{$uebrig_pid} > 0; }
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
$anzahl=0; foreach(@zeilen) { if($_ =~ m/$beginne/) { $anzahl=$anzahl+1; } } if($anzahl>1) { print "beginne pid ist $anzahl mal vorhanden \n"; }
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
#! /usr/bin/env perl use strict; use warnings; my $last_stamp; my $last_pid; while ( my $line = <DATA> ) { if ( my ( $stamp, $pid ) = $line =~ m{^(\S+).+eginne.+pid=(\d+)} ) { if ( !defined $last_stamp || $stamp gt $last_stamp ) { $last_pid = $pid; $last_stamp = $stamp; } } } print "Last backup (pid $last_pid) started at $last_stamp\n"; __DATA__ 25.03.12_00:04:53 Datenbankbackup erfolgreich erstellt 25.03.12_00:07:26 Backup der Archivelogs erfolgreich erstellt 25.03.12_00:07:26 Beende backdb_stdb (pid=28948) 25.03.12_18:00:02 Beginne backdb_stdb (pid=22744) 25.03.12_23:53:29 Datenbankbackup erfolgreich erstellt 25.03.12_23:56:07 Backup der Archivelogs erfolgreich erstellt 25.03.12_23:56:07 Beende backdb_stdb (pid=22744)
2012-07-11T08:08:25 Linuxer25.03.12_00:04:53
1 2
my @zeilen_mit_beginne = grep { $_ =~ /Beginne.+pid/ } @alle_zeilen; my $relevante_zeile = $zeilen_mit_beginne[-1];