![](https://seccdn.libravatar.org/avatar/04e9b659dabb6ef88308aa2c68abeb3e.jpg?s=120&d=mm&r=g)
Juergen Schwarting wrote:
* Am 04.06.2001 um 00:30 Uhr schrieb Andre Fischer:
mit procmail hab ich mich schon angefreundet und auch das Prinzip verstanden. Mail je nach FROM verschieben krieg ich auch hin, nun möchte ich aber das
FROM an ein Script übergeben um das dann in ein File schreiben zu lassen.
wie wärs mit...
:0 wc: | formail -x From: | /pfad/zum/script.sh >>liste
wobei script.sh z.B. so aussehen könnte...
#!/bin/bash while read Zeile; do echo "$Zeile" done
Na ja, wenn das Skript tatsächlich einfach nur ausgibt, was es selbst als Eingabe bekommt, dann kann man ebenso gut cat aufrufen. Und cat-Aufrufe in irgendwelchen Pipes sind bekanntlich in den meisten Fällen überflüssig, so daß man auch gleich :0 wc: | formail -x From: >>liste in die procmailrc schreiben kann. Wenn man komplexere Dinge mit der Mail (oder Teilen davon) tun will, kann es natürlich schon Sinn machen, das wie von Dir gezeigt in ein Skript auszulagern. Eilert -- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Eilert Brinkmann -- Universitaet Bremen -- FB 3, Informatik eilert@informatik.uni-bremen.de - eilert@tzi.org http://www.informatik.uni-bremen.de/~eilert/
![](https://seccdn.libravatar.org/avatar/2463effbc8cffc2c96f71f96fcbd9cb7.jpg?s=120&d=mm&r=g)
Na ja, wenn das Skript tatsächlich einfach nur ausgibt, was es selbst als Eingabe bekommt, dann kann man ebenso gut cat aufrufen. Und cat-Aufrufe in irgendwelchen Pipes sind bekanntlich in den meisten Fällen überflüssig, so daß man auch gleich
:0 wc: : | formail -x From: >>liste danke, formail, war das was ich brauchte. ich bekomme jetzt aber in der liste immer eine Zeile im Format "name <adresse>" brauche aber nur das innerhalb der <...>, muß ich dazu so mächtige Werkzeuge wie sed einsetzen oder geht das auch einfacher?
-- tschau fisch
![](https://seccdn.libravatar.org/avatar/73166db4487cc5490022833f99316e97.jpg?s=120&d=mm&r=g)
Am Die, 05 Jun 2001, schrieb Andre Fischer:
Na ja, wenn das Skript tatsächlich einfach nur ausgibt, was es selbst als Eingabe bekommt, dann kann man ebenso gut cat aufrufen. Und cat-Aufrufe in irgendwelchen Pipes sind bekanntlich in den meisten Fällen überflüssig, so daß man auch gleich
:0 wc: : | formail -x From: >>liste danke, formail, war das was ich brauchte. ich bekomme jetzt aber in der liste immer eine Zeile im Format "name <adresse>" brauche aber nur das innerhalb der <...>, muß ich dazu so mächtige Werkzeuge wie sed einsetzen oder geht das auch einfacher?
Ich habe dazu irgendwo mal ein kleines Perl-Skript namens addysort gefunden, das so kurz ist, daß ich mir erlaube, es hier zu posten. ----- #!/usr/bin/perl -wn # Picks out the actual address from the "From:" line unless (/\) { print; } else { print /<([^>]+)/, "\n"; } ----- Wenn Du die formail-Ausgabe da durch pipest, sollte alles so gehen, wie Du es Dir vorstellst. Gruß Christoph -- Christoph Maurer - Jülicher Str. 80 - 52070 Aachen - Tux# 194235 mailto:christoph-maurer@gmx.de - http://www.christophmaurer.de Auf der Homepage u.a.: Installation von SuSE 7.0 auf Notebook Acer Travelmate 508 T, Elektrotechnik an der RWTH Aachen
![](https://seccdn.libravatar.org/avatar/735ea797d876adb026ae955e8adbf597.jpg?s=120&d=mm&r=g)
On Die, Jun 05, 2001 at 01:07:03 +0200, Andre Fischer wrote: [...]
formail, war das was ich brauchte. ich bekomme jetzt aber in der liste immer eine Zeile im Format "name <adresse>" brauche aber nur das innerhalb der <...>, muß ich dazu so mächtige Werkzeuge wie sed einsetzen oder geht das auch einfacher?
Hihi, ja, geht auch mit einfachen Sachen wie awk, perl, ... *fg* Es geht natürlich auf Hunderte von Arten, hier sind zwei davon: echo $zeile | cut -f2 -d"<" | cut -f1 -d">" echo $zeile | sed "s/.*/; s/>.*//" Jan
![](https://seccdn.libravatar.org/avatar/7b33cb1e776e35b87edb8ef09f0c888f.jpg?s=120&d=mm&r=g)
On Die, 05 Jun 2001, Jan Trippler wrote:
On Die, Jun 05, 2001 at 01:07:03 +0200, Andre Fischer wrote: [...]
formail, war das was ich brauchte. ich bekomme jetzt aber in der liste immer eine Zeile im Format "name <adresse>" brauche aber nur das innerhalb der <...>, muß ich dazu so mächtige Werkzeuge wie sed einsetzen oder geht das auch einfacher?
Hihi, ja, geht auch mit einfachen Sachen wie awk, perl, ... *fg*
Es geht natürlich auf Hunderte von Arten, hier sind zwei davon:
echo $zeile | cut -f2 -d"<" | cut -f1 -d">"
echo $zeile | sed "s/.*/; s/>.*//"
echo $zeile | sed "s/[^<]*<\([^>]*\)>.*/\1/" Als gemeinsamer Ausdruck, der auch die andere haeufige Form "email (name)" erfasst, geht: echo $zeile | sed "s/.*[ <]\([^ <]*@[^ >]*\)[ >].*/\1/" SCNR -dnh -- 145: Heavysidesche Sprungfunktion Lernkurve eines Informatikers, der in einem Unternehmen mit FDDI Backbone einen FI Schütz eingebaut hat. (Detlef Bosau)
![](https://seccdn.libravatar.org/avatar/c3746755fcfd20f1965253162a7ae9a2.jpg?s=120&d=mm&r=g)
Hallo Eilert, * Am 04.06.2001 um 21:30 Uhr schrieb Eilert Brinkmann:
Juergen Schwarting wrote:
* Am 04.06.2001 um 00:30 Uhr schrieb Andre Fischer:
mit procmail hab ich mich schon angefreundet und auch das Prinzip verstanden. Mail je nach FROM verschieben krieg ich auch hin, nun möchte ich aber das
FROM an ein Script übergeben um das dann in ein File schreiben zu lassen.
wie wärs mit...
:0 wc: | formail -x From: | /pfad/zum/script.sh >>liste
wobei script.sh z.B. so aussehen könnte...
#!/bin/bash while read Zeile; do echo "$Zeile" done
Na ja, wenn das Skript tatsächlich einfach nur ausgibt, was es selbst als Eingabe bekommt, dann kann man ebenso gut cat aufrufen. Und cat-Aufrufe in irgendwelchen Pipes sind bekanntlich in den meisten Fällen überflüssig, so daß man auch gleich
:0 wc: | formail -x From: >>liste
Du hast natürlich vollkommen Recht! Da in der Ursprungs-Mail von Andre aber auch die Rede von einem Script war habe ich halt den Vierzeiler mit eingefügt. Beim nächsten mal werde ich versuchen die Mail ein wenig genauer zu lesen und mich nur auf das Notwendigste beschränken. Danke für Deinen Hinweis :-) Jürgen -- Nachdem Ihre nützliche Routine fertiggestellt ist, die mit einem bekannten Fehler im Betriebssystem auskommt, wird dieser beseitigt. / Registered Linux-User #130804 http://counter.li.org \ \ Linux Stammtisch Bremerhaven http://linux.hs-bremerhaven.de /
participants (6)
-
Andre Fischer
-
Christoph Maurer
-
David Haller
-
Eilert Brinkmann
-
Jan.Trippler@t-online.de
-
Juergen Schwarting