sollte eigentlich gehen. hinweis: die untere variante klappt nur dann fehlerfrei, wenn pro datei nur ein treffer zu finden ist.
Code:
#!/usr/bin/perl
# die datei mit den neuen ergebnissen
$zFile="ergebnis.txt";
# die dateien, die durchsucht erden sollen
@files=("test.txt","datei1.htm","datei2.htm","datei3.htm"); #usw.
# der startstring
$sstr="hier dein startwort/startzeichen";
open(TG,">$zFile") || die($!);
foreach $f(@files){
# nächste datei, da aktuelle nicht vorhanden ist
if( ! -e $f) {;
print "ERROR: $f not found...\n";
next;
}
#bei einmaligem vorkommen sonst auskommentieren
$tmp=`cat $f`;
print TG "$2\n" if $tmp=~/($sstr)(.{5})/g;
#
# wenn in mehreren zeilen vorkommend
#@tmp=`cat $f`;
#for(@tmp){
# print TG "$2\n" if /($sstr)(.{5})/;
#}
}
close(TG);
exit;
olli
Lesezeichen