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