Thread [PROBLEM] --> vergleich von 2 Dateien mit PERL (7 answers)
Opened by Gast at 2004-03-11 17:03

renee
 2004-03-11 18:39
#80878 #80878
User since
2003-08-04
14371 Artikel
ModeratorIn
[Homepage] [default_avatar]
Weil Du dann schneller Abgleichen kannst, ob die Zeile aus der 1. Datei eine Zahl aus der 2.Datei enthält. Du brauchst nicht 2 for(each)-Schleifen.

Wenn man es anders besser machen kann, lasse ich mich gerne belehren...
Der code, so wie ich ihn dachte (ungefähr):
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
# Variablen deklarieren
my @lines_file1 = ();
my %hash = ();
# Pfade zu den Dateien
my $file1 = 'Pfad/zur/Datei1';
my $file2 = 'Pfad/zur/Datei2';
my $out = 'Pfad/zur/Zieldatei';

# einlesen der 1. Datei
open(R_FILEONE,"<$file1") or die $!;
while(my $line = <R_FILEONE>){
 push(@lines_file1,$line);
}
close R_FILEONE;

# einlesen der 2. Datei
open(R_FILETWO,"<$file2") or die $!;
while(my $line = <R_FILETWO>){
 chomp $line;
 $hash{$line} = 1;
}
close R_FILETWO;

# überprüfen, ob die Zeile aus der 1.Datei eine Zahl aus der 2. Datei enthält
foreach(@lines_file1){
 my $check = substr($_,394,16); # Zahl in der langen Zeile raussuchen
 if($hash{$check}){
   $_ = '';
 }
}

# Zieldatei schreiben
open(W_TARGET,">$out") or die $!;
foreach(@lines_file1){
 print W_TARGET $_ if($_);
}
close W_TARGET;
\n\n

<!--EDIT|renee|1079023276-->
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/

View full thread [PROBLEM] --> vergleich von 2 Dateien mit PERL