Thread Dateien durchsuchen (29 answers)
Opened by Paul at 2013-01-30 21:28

topeg
 2013-01-31 10:10
#165351 #165351
User since
2006-07-10
2611 Artikel
BenutzerIn

user image
Ü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)

View full thread Dateien durchsuchen