* On Sat, 17 Jan 2004 at 21:42 +0100, Joerg Rossdeutscher wrote:
Am Sa, den 17.01.2004 schrieb Adalbert Michelic um 16:35:
* On Sat, 17 Jan 2004 at 13:47 +0100, Joerg Rossdeutscher wrote: [AW: und Konsorten im Subject]
Ich persönlich würde mich über eine procmail-Regel freuen, die sowas einfach nur repariert, aber das übersteigt meine Fähigkeiten.
Dir sei geholfen:
:0 fw * ^Subject: (RE|AW): \/.*$ | formail -I "Subject: Re: $MATCH"
1. DANKE 2. DANKE! 3. DANKE!!!!!!!!!!!!!!!!1 :-)
Bittegerne :)
...aber, (untested):
AW: Re: RE: Subject
würde dann nur zu
Re: Re: RE: Subject
Richtig gesehen.
...oder? Ich bin in Regular Expressions wirklich nicht gut, aber ich sehe da kein Wiederholzeichen.
Könnte das funktionieren: * ^Subject: (RE: |AW: |Re: )*\/.*$ ?
Jein, durch den * (= vorheriges Element wird 0..n mal wiederholt) würdest Du auch Subjects erwischen, die gar nix vorne haben (die bekämen dann ein ungerechtfertigtes Re: verpasst) - + ist besser (1..n). Ich erweitere noch gleich um das Antw: von Lokus Bloates und um die Numerierung die manche Fledermäuse und andere Untiere einführen (auf eine Mail mit Re: im Subject wird mit Re[2]: geantwortet): * ^Subject: ((RE|AW|Re|Antw)(\[[0-9]+\])?: )+\/.*$ Der Klammernblock um RE|AW|Re|Antw ist eh selbsterklärend, dann kommt ein runden Klammern ein Ausdruck, der entweder null mal oder ein mal vorkommt, und zwar beginnt er mit einer eckigen Klammer "\[", enthält drinnen ein oder mehrere Ziffern "[0-9]" und endet wieder mit einer eckigen Klammer "\]".
Ich habe das "Re: " mit reingenommen, weil es ja ein "RE: Re: AW: " geben könnte, und das muss alles wech. Den ":" und das " " habe ich auch mit reingenommen, da es sich wiederholt. Kann man das Leerzeichen Optional machen? Wäre das dann vielleicht: * ^Subject: (RE: ?|AW: ?|Re: ?)*\/.*$ ?
Ja, kann man, dahinterstellen des Fragezeichens genügt. Ich wiederhol nochmal den obigen Ausdruck: * ^Subject: ((RE|AW|Re|Antw)(\[[0-9]+\])?: ?)+\/.*$
Sorry, wenn ich das hier theoretisch durchdiskutiere statt es auszuprobieren - ich bin etwas pingelig mit meinen Mails und habe Angst, dass was hoppsgeht. ;-)
Du kannst testweise mal die Mails in eine eigene Mailbox sortieren: :0 c * ^Subject: ((RE|AW|Re|Antw)(\[[0-9]+\])?: ?)+\/.*$ { :0 fw | formail -i "Subject: Re: $MATCH" :0: mail/subject-korrekturen } Das Flag c bei der äusseren Regel erzeugt von der eine Mail eine Kopie (sie läuft nach der Regel unverändert weiter), der Block in geschwungenen Klammern ist der Actiob-Teil der äusseren Regel, er wird nur ausgeführt, wenn sie matcht. Bei formail habe ich das -I jetzt gegen -i getauscht - der alte Subject-Header bleibt dadurch erhalten (wird nach Old-Subject: umbenannt), ist beim Prüfen vermutlich etwas einfacher, wenn man sieht, was da vorher stand. /apm -- GPG welcome, request public key: mailto:adalbert+key@lopez.at