Hallo,
habe folgendes Problem.
Habe eine Datei1 die enthält folgendes:
<Ziffer><leerzeichen><URL><tabulator><String>
bsp:
1 http://www.url1.de/impressium.html Impressium
2 http://www.blabla.de/blabla/bla/ueber_uns.html Wir Über uns!
3 http://url.de/home/ Home
...
..
.
und ich habe noch eine andere Datei2 die nur eine Liste von Strings enthält.
bsp:
Impressium
Home
Kontakt
Besuchen Sie uns
Bla Bla Bla
...
..
.
aus der ersten Datei möchte ich NUR (nicht die ganze Zeile) die URL-s extrahieren, dessen <String> (das Teil nach dem Tabulator) auch in der Datei2 vorkommt. Die anderen URL möchte ich nicht extrahieren.
Ergebniss wäre hier:
http://www.url1.de/impressium.html
http://url.de/home/
ich habe so angefangen:
Datei1
open INPUT, "$ARGV[0]" or die ("datei $ARGV[0] nicht gefunden");
my @Datei1 = <INPUT>;
close(INPUT);
Datei2
open(DATEI, "<datei2.txt") || die "Datei nicht gefunden";
my @Datei2 = <DATEI>;
close(DATEI);
my @Ergebniss;
foreach my $datei2 (@Datei2) {
foreach my $zeilen (@Datei1) {
$zeilen =~ /([1] )([http://].+)(\t)(.+)/gi;
if ($4 =~ /$datei2/){
push(@Ergebniss,$2)
}
else {}
}
}
Leider funktioniert der Script nicht so. Ich habe in der @Ergebniss nicht das was ich wollte, und ich weiss auch nicht wo der Fehler ist, vermutte aber dass "if ($4 =~ /$datei2/)" nicht ganz korrekt ist, oder liegt es in der schleife???
kann mich jemand vielleicht helfen?
vielen Dank,
Gruss, Andy
0-9 ↩︎