AW: Mail schrumpft auf dem weg vom Server auf den PC

Andre Tann atann at alphasrv.net
Mo Dez 12 15:44:17 CET 2022


Ich antwort mal wieder an die Liste:

On 12.12.22 15:20, Uwe Drießen wrote:

> Ja haut euch :-))

Nö, wir sind friedlich, und denken laut nach :D


> \1 ist was ?

\1 referenziert, was in der ersten Klammer gefunden wurde. Uwe Du mußt 
aufpassen, daß Dir Dein Thunderbird alles anzeigt, und nicht /text/ 
einfach nur kursiv anzeigt, ohne die slashes. So sah der sed aus:

/^from:/s/.*<\(.*\)>.*/\1\t\t\t550 reject go away/

Der Witz an .*<(.*)>.* ist:
             |   |   |
             |   |   +--alles nach der letzten schließenden
             |   |      spitzen Klammer
             |   +--alles innerhalb der spitzen Klammern
             +--alles vor der letzten spitzen Klammer

- wegen der .* am Anfang und am Ende wird auf jeden Fall die ganze Zeile 
getroffen, d.h. also ersetzt mit dem, was rechts angegeben ist
- die Klammern in der Mitte umfassen alles, was zwischen spitzen 
Klammern notiert ist. Das funktioniert nur richtig, wenn < und > nur 
einmal vorkommen in der Zeile, was aber hier der Fall ist, und nur wenn 
< vor > steht, und nicht wenn > vor < kommt :)

\( und \) statt ( und ) nur, weil sed da bißl komisch ist, und die 
Klammern sonst buchstäblich auffassen würde statt als 
Schiebs-in-den-ersten-Buffer-Aufforderung.

Also heißt die ganze Sache übersetzt so:

1. Suche nur in Zeilen, in denen from: am Zeilenanfang steht
2. Suche komplette Zeilen, die < und > enthalten, und schiebe alles 
zwischen < und > in den ersten Buffer, sprich also die E-Mail-Adresse.
3. Ersetze alles, was gefunden wurde (nämlich die ganze Zeile, wegen .* 
vorn und hinten), mit dem Inhalt des ersten Buffers (\1), also der 
E-Mail-Adresse, gefolgt von "\t\t\t550 reject go away"



-- 
Andre Tann


Mehr Informationen über die Mailingliste Postfixbuch-users