linux-l: Regular Expressions

Joerg Haertwig haertwig at cns.mpg.de
Do Okt 26 14:33:13 CEST 2000


> Vorsicht: "^From" matched auch "From:".

"^From" findet nur "From" am Zeilenanfang.

> Ausserdem hatte ich das so verstanden, dass "-Team" ganz am Ende
> steht. 

ich verstand es so

Michael Weber <mweber at hadag-gruppe.de>:
Einzige Gemeinsamkeit ist das
sie mit "From" anfangen und mit "-Team" aufhoeren.

alle nicht gewollten mails fangen mit "^From" an und enden auf "-Team".
demzufolge das input file von unten nach oben durchsuchen und die
$schalter (ich hatte sowieso das "!" vergessen) tauschen.
somit wird "-Team" gefunden und alles bis zum naechsten "^From" (inkl.
der trefferzeilen) im output file unterdrueckt.

open(FILE,...);
my @file = <FILE>;
close(FILE,...);

my @rev_file = reverse @file;

my $schalter = 0;
foreach (@rev_file) {

	$schalter = grep("^-Team", $_);
        $schalter = ! grep("^From",  $_);

        push @file, $_ if ! $schalter;

}
open(OFILE,...);
print OFILE reverse @file;
close(OFILE,...);

es muss natuerlich klar sein, dass die suchbegriffe "^From" und "^-Team"
alle nicht gewollten zeilen umschliessen muessen. sonst eben
spezifizieren.

hoffe es hilft, ciao



Mehr Informationen über die Mailingliste linux-l