Thread Matching von bis in einer Datei (24 answers)
Opened by Rambo at 2009-05-04 14:54

Rambo
 2009-07-01 15:26
#122779 #122779
User since
2003-08-14
803 Artikel
BenutzerIn

user image
Hallo renee,

an sich funktioniert das Script aber es sind zwei kleine Probleme.
1. Das script funktioniert nicht wenn der Dateiname nicht *.txt sondern *.log heisst (finde ich seltsam)
2. Ich weiss nicht wie ich es bei mir einbetten soll.
hier mein erster Versuch des Sciptes
Code: (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
36
37
use strict;
use warnings;
use Tie::File;
use Archive::Zip;
use Archive::Zip::MemberRead;
use File::Glob ':glob';

my $Zip_File = 'ON_35110000_11485_AP06_UTC_29.06.2009_18.25.zip';
my $String = 'SYSTEM NOT AVAILABLE';



my $zip = new Archive::Zip($Zip_File);
my @file2 = $zip->membersMatching( '.*' );
for my $file2 (@file2){
my $fh = new Archive::Zip::MemberRead($zip, $file2);
my $fh2 = $file2->fileName();
print $fh2,"\n";

while (defined(my $line = $fh->getline())) {
chomp($line);

tie my @line, 'Tie::File', $fh2 or die $!;
for my $i ( 0 .. $#line ) {
if ($line[$i] =~ /$String/) {

my $Zeile = $fh->input_line_number;
my $read = $fh->read(my $buffer, 32*1024);
open(LOG, ">>result.txt") or die $!;
print LOG $line[ $i-23 ];
close LOG;
untie @line;
}
}
$fh->close();
}
}


Der Fehler hier ist "No such file or directory at.." und bezieht sich auf die Zeile 25 "tie my @line, 'Tie::File', $fh2 or die $!;" Ich vermute er kann auf die im ZIP eingepakte Datei nicht zugreifen.

Bin noch am suchen wo ich was ändern muss.

Merci und Gr. Remo

View full thread Matching von bis in einer Datei