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

Re: Debian im Subject entfernen



Ralf Schmidt <newswriter@pc-station.de> wrote:

>>>  SUBJECT='formail -xSubject: \
>>           ^^
>>Sind das Backticks?
>>Wenn nicht, sie sollten es sein. ;)

> Was sind Backticks? Sorry für diese dämliche Frage.

Sie werden manchmal auch Backquotes genannt. Es handelt sich um
Zeichen die man normalerweise mit Shift-' (die Taste links neben
Backspace) erhält. Sie sorgen dafür, daß die Ausgabe des in Backticks
angegebenen Kommandos verwendet wird, in obigem Fall als der Output
des Kommandos formail in die Variable SUBJECT geschrieben wird. Wenn
Du statt der Backticks normale Quotes verwendest, geht das natürlich
schief.

> Wenn Du das Zeichen über der "#" Taste meinst, dann ja.

Nein, über dem # liegt normalerweise auch ein einfaches Quote-Zeichen
oder aber irgendein Akzent-Zeichen (ASCII jenseits von 128), das
völlig unbrauchbar ist.

>>BTW: Wenn das eventuelle Re: vor dem [Debian] noch weg soll,
>>koenntest Du folgendes versuchen:
>>
>>: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:
>>|$HOME/bin/debian-footer-kill.pl >> ~/Mail/debian-user-de
>>}

> So war das script urspünglich. Leider hat das auch nicht
> funtkioniert, daher habe ich es immer weiter gekürzt, weil ich nicht
> weiß woran es liegt.

Wobei Du einerseits die Backticks durch Quotes ersetzt hast und
weiterhin den regulären Ausdruck des sed-Kommandos so zerstört hast,
daß das im Zweifelsfalle eher einer Fehlermeldung liefert als das
[Debian] zu entfernen...

Versuch's einfach mal mit

: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
}

Das solltest Du jetzt aber auch so kopieren, wie es da steht, beim
Abtippen geht garantiert irgendwas schief. Auch Copy&Paste mit der
Maus in einen jed macht gewöhnlich Probleme, weil der nach jedem
Quote- und Backtick ein Leerzeichen erwartet, so daß die
Quotes/Backticks meist ebenfalls zerstört werden.

Kurz zur Erklärung, was da oben geschieht:
- Erstmal wird die Mail anhand des X-Mailing-List-Headers als von der
  Mailingliste kommend erkannt.
- Dann wird die Mail durch formail gepiped, welches das Subject
  extrahiert.
- Das Subject wird dann durch zwei sed-Kommandos gejagt.
- Das erste sed-Kommando ersetzt dabei [Debian] in diversen
  Schreibweisen (u.a. mit Doppelpunkt und Leerzeichen dahinter, sowie
  in durch Quoted-Printable verwurstet) durch den leeren String und
  das bei allen Auftreten von [Debian].
- Das zweite sed-Kommando faßt mehrere Re:'s zu einem einzigen
  zusammen (mehrere Re:'s entstehen oftmals durch das Entfernen
  dazwischen liegender [Debian]s).
- Dann wird die gesamte Mail erneut durch formail gejagt (:0 fw),
  wobei das jetzt veränderte Subject aus der Variable $SUBJECT in den
  Header geschrieben wird.
- Abschließend wird die so verwurstete Mail in den Folder
  debian-user-de geschrieben.

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 Subject
"unsubscribe <deine_email_adresse>" enthaelt.
Bei Problemen bitte eine Mail an: Jan.Otto@Lehmanns.de
-----------------------------------------------------------

685 eingetragene Mitglieder in dieser Liste.


Reply to: