Frage zu grep / sed / cut

Bash, Shell, PHP, Python, Perl, CGI
arachon
Posts: 44
Joined: 2003-03-26 19:22

Frage zu grep / sed / cut

Post by arachon »

Hallo,

folgendes Problem:

Ich verwende zur Zeit ein kleines Bash-Script, dass aus dem EMail-Quelltext den ersten Teil vor dem '@' der EMail-Adresse auswertet:

Code: Select all

STRING=`grep -i "^To: "      ${MESSAGE_FILE} | sed -e "s/^.....//" | cut -d "@" -f 1`
Funktioniert ganz gut, wenn im Quellcode die Empfänger-EMailadresse wie folgt codiert ist (ist z.B. bei den meisten EMail-Clients der Fall), d.h. der String beim 5. Zeichen der Zeile anfängt:

Dummerweise gibt es jedoch auch Mail-Clients, die wie folgt codieren (also ohne eckige Klammer) - damit fängt der String schon beim 4. Zeichen an:
Damit wird von meinem grep / sed /cut dummerweise das erste Zeichen abgeschnitten. Bei obigem Beispiel ist der String somit 'ser' statt 'user'.



Frage:

Fällt jemanden eine Möglichkeit ein, ein korrektes Ergebnis bei beiden Codierungen zu erzielen ?!?

Ich dachte an eine Regular Expression, die ab dem ersten gültigen Zeichen, dass in einer EMail vorkommen darf, bis zum '@'-Symbol extrahiert - hat jedoch irgendwie nicht funktioniert.

Danke für Eure Hilfe !


Grüsse
Christoph
thorsten
Posts: 561
Joined: 2003-02-01 13:14
Location: Fuldatal

Re: Frage zu grep / sed / cut

Post by thorsten »

versuchs mal damit:

Code: Select all

sed -e "s#^To: ##" | cut -d "@" -f1 | tr -d "<"
arachon
Posts: 44
Joined: 2003-03-26 19:22

Re: Frage zu grep / sed / cut

Post by arachon »

Perfekt - Danke !


Ich kam zwischenzeitlich noch auf folgende Lösung:

Code: Select all

sed 's/<//g' | sed -e "s/^....//" | cut -d "@" -f 1
aber mit tr gefällt es mir doch auch sehr gut....


Grüsse
Christoph
thorsten
Posts: 561
Joined: 2003-02-01 13:14
Location: Fuldatal

Re: Frage zu grep / sed / cut

Post by thorsten »

jo, der 2. sed ist natürlich auch möglich, dann mach es aber bitte so:

Code: Select all

sed -e "s#^To: ##" -e "s#<##" | cut -d "@" -f1
Das ist performanter, da nicht extra noch ein weiterer sed geöffnet werden muß.
arachon
Posts: 44
Joined: 2003-03-26 19:22

Re: Frage zu grep / sed / cut

Post by arachon »

Hast recht - Besten Dank für den Tip !


Grüsse
Christoph