Regulärer Ausdruck gesucht

24/07/2008 - 19:59 von Michael hentsch | Report spam
Hallo zusammen,

entschuldigt meine Anfàngerfrage:

Ich suche eine Möglichkeit (mit sed, awk, usw) aus einem String, bzw.
einer Zeile meines Mail-Logs einen Teil-String auszugeben.

Der Teilstring lautet: from=<mailadresse@maildomain.tld>.

Das Beste wàre, nur die Mailadresse, also alles zwischen dem ersten
Vorkommen von "from=<" und dem ersten folgendem Vorkommen von ">" zu
erkennen und auszugeben.

Kann mir da jemand weiterhelfen?


Schon mal vielen Dank

Michael Hentsch
 

Lesen sie die antworten

#1 Sascha Hüdepohl
24/07/2008 - 20:22 | Warnen spam
Hallo

Michael hentsch schrieb:

Das Beste wàre, nur die Mailadresse, also alles zwischen dem ersten
Vorkommen von "from=<" und dem ersten folgendem Vorkommen von ">" zu
erkennen und auszugeben.



Das geht z.B. so:

echo "from=" |\
sed -e 's/^.*from=<\([^>]\+\)>.*$/\1/'

^.*from=< - finde alles vom Zeilenanfang bis einschließlich from=<
.*$ - finde alles vom > bis zum Zeilenende


\([^>]\+\) - findet ein oder mehr Zeichen die nicht '>' sind und
"merkt" sie sich.
\1 - Refferenz auf den ersten Klammerausdruck

HTH
Sascha

Ähnliche fragen