[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: "Debian" im Subject



Stephan Splitthoff <ml@splitti.de> wrote:

> Jemand hatte hier mal einen Auszug aus .procmail gepostet, mit dem
> man diesen Unsin naus dem Subject bekommt.

Das war vermutlich ich.

> Das lief bislang auch sehr schoen, funktioniert aber in letzter Zeit
> nicht mehr. Aufgefallen ist es mir, als das X-Mailing-List geaendert
> wurde.

> Hat jemand eine Erklaerung dafuer?

Bei der Umstellung von majordomo auf smartlist haben sich wohl auch
einige Details des unsäglichen [Debian]-Einfügens geändert.

> Es waere auch nett, wenn jemand mal die reg-exp erklaeren koennte,
> damit ich das auch auf andere Listen anwenden kann ;-)

Erstmal die neue Fassung:

:0 w
* ^X-Mailing-List: <debian-user-de@(jfl|lehmanns)\.de>
{
    SUBJECT=`formail -xSubject: \
             | sed -e 's/\(\[\|=5B\)Debian\(\]\|=5D\)\(:\|=3A\)\?[ _]\?//g' \
                   -e 's/Re: \(Re: \)*/Re: /g'`
    :0 fw
    | formail -I"Subject:$SUBJECT"
    :0:
    debian-user-de
}

sed ändert hier in zwei Schritten. Die erste Regexp wird dazu genutzt,
"[Debian]" ersatzlos zu löschen und zwar auch dann, wenn es mehrfach
auftritt (dafür das "g" hinter dem "s/foo/bar/"). Da wir hier in einer
deutschsprachigen Mailingliste sind, reicht ein simples 
 s/\[Debian\] //g
das bei wie bei englischsprachigen Listen schon alle Arbeit macht,
leider nicht aus, sondern man sollte auch Quoted-Printable
verarbeiten. In diesem Sinne wird aus der öffnenden eckigen Klammer:
 \(\[\|=5B\)
Das ist eine Fallunterscheidung \(foo\|bar\), also entweder eine
eckige Klammer oder =5B, die QP-Schreibweise davon.
Analog erklärt sich \(\]\|=5D\) für die schließende Klammer.
Es folgt 
 \(:\|=3A\)\?
Dies ist ebenfalls eine Fallunterscheidung, diesmal zwischen einem
Doppelpunkt und dessen QP-Darstellung. Da der Doppelpunkt hinter dem
[Debian] nur manchmal auftritt (ich habe inzwischen auch ein wenig die
Übersicht über die verschiedenen Varianten der
[Debian]-Subject-Verhunzung verloren, vielleicht gibt's das auch schon
nicht mehr), ist dieser Term optional "\?".
Abschließend folgt dann optional noch ein Leerzeichen, welches in QP
als Unterstrich dargestellt wird, also [ _]\?

Das zweite sed-Kommando
 s/Re: \(Re: \)*/Re: /g
faßt dann nur noch eventuell mehrfach aufgetretene "Re: " (ggf. eins
vor und eins hinter dem [Debian]) zu einem einzelnen "Re: " zusammen.

Tschoeeee

        Roland

-- 
 * roland@spinnaker.de * http://www.spinnaker.de/ *

---------------------------------------------------------
Um sich aus der Liste auszutragen schicken Sie bitte eine
E-Mail an debian-user-de-request@lehmanns.de die im Body
"unsubscribe <deine_email_adresse>" enthaelt.
Bei Problemen bitte eine Mail an: Jan.Otto@Lehmanns.de
---------------------------------------------------------

792 eingetragene Mitglieder in dieser Liste.



Reply to: