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: