Thread Datei nach String durchsuchen und in Datei ausgeben (42 answers)
Opened by QWERTZ7 at 2011-03-22 10:49

rosti
 2011-03-25 13:39
#146895 #146895
User since
2011-03-19
3492 Artikel
BenutzerIn
[Homepage]
user image
Machbar ist alles, aber alles mache ich nicht für dich ;)

Code: (dl )
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
use strict;
use IO::File;
use File::stat;


my $fh = new IO::File 'radius.log', O_RDONLY or die $!;
my $st = stat($fh) or die $!;
my $len = $st->[7];

my $data;
read $fh, $data, $len;
my @lines = split /\n/, $data;

foreach my $line(@lines){
$line =~ /^(\w+\s+\w+\s+\d+\s+\d{2}:\d{2}:\d{2}\s+\d{4})\s+:\s+(\w+):(.*):\s+\[(.*)\]\s+\((.*)\)$/;
#printf "Date => %s, Auth => $2, Mesg => $3, MAC/X => $4, Client => $5\n", $1, $2, $3, $4, $5;
printf "Client: %s\n", $5;
}


Du hast eigentlich alles in $5, auch die MAC-Addr. splitte $5 nach \s+ und den Rest kriegst du bestimmt selbst hin.

View full thread Datei nach String durchsuchen und in Datei ausgeben