Thread Dateien durchsuchen
(29 answers)
Opened by Paul at 2013-01-30 21:28
Überlasse das Suchen perl, Indem du einen Hash benutzt. Ich gehe einfach mal davon aus dass die gesuchten Zeilen einzigartig sind, sodass man sie in einen Hash Packen kann, denn ansonsten hättest du mit deiner Herangehensweise noch andere Probleme.
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 36 37 38 39 40 41 42 43 #!/usr/bin/perl use strict; use warnings; my %index; my $file_ref='/was/weis/ich.txt'; my $file_data='/keine/Ahnung/wo.txt'; my $file_out='/irgend/wo/hin.txt'; open(my $fh, '<', $file_ref) or die("Can't open $file_ref ($!)\n"); while(my $line=<$fh>) { chomp($line); # weiteres Aufbreiten der Zeile... # du weißt was noch gemacht werden sollte... $index{$line}=1; } close($fh); open(my $fho, '>', $file_out) or die("Can't open $file_out ($!)\n"); open(my $fhi, '<', $file_data) or die("Can't open $file_data ($!)\n"); while(my $line=<$fhi>) { chomp($line); # weiteres Aufbreiten der Zeile... # du weißt was noch gemacht werden sollte... if(exists($index{$line}) and $index{$line}) { print $fho "$line\n"; # wenn eine Zeile nicht doppelt gefunden werden darf: #delete($index{$line}); } } close($fhi); close($fho); Edit: Tippfehler beseitigt. Danke Muffi Last edited: 2013-01-31 11:35:02 +0100 (CET) |