linux-l: Regular Expressions

Joerg Haertwig haertwig at cns.mpg.de
Do Okt 26 12:50:39 CEST 2000


Michael Weber wrote:
> 
> Moin,
> 
> heute nacht haben sich 2 Autoresponder froehlich
> unterhalten. Ergebnis : 33.897 Mails, das ganze
> auf 4 Accounts.
> 
> Dazwischen ungefaehr 200 Usermails, die unbedingt
> gerettet werden sollen. Sehe ich ja auch ein. Nu
> schwoere ich ja auf vi aber das scheint ihn zu
> ueberfordern ( oder ich bin zu doof, was vermutlich
> eher der Fall ist ), wie bekomme ich die Autorespondermails
> aus den Dateien ? Einzige Gemeinsamkeit ist das
> sie mit "From" anfangen und mit "-Team" aufhoeren.
> 
> Meine Versuche das mit Suchen und Ersetzen ueber
> Regular Expressions hinzubekommen, scheitern
> allerdings klaeglich. Vermutlich liegts daran, das
> dazwischen mehrere Zeilen stehen oder an den Zeilen-
> umbruechen dazwischen.
> 
> Meine bewaehrte Kombination mit find,chop und print
> funkt auch nicht. Kann mir bitte einer auf die Spruenge
> helfen ?
> 
> Michael


mit perl ist es einfach


zb.

...

open(FILE, "<dein/file") || die "nich da";
open(OFILE, ">/dein/neues/file") || dir "kann nich schreiben";

my $schalter = 0;
while(<FILE>) {

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

	print OFILE, $_ if ! $schalter;

}
close(FILE);
close(OFILE);

...


ohne gewaehr.


ciao



Mehr Informationen über die Mailingliste linux-l