Zeichen per Script löschen

Bash, Shell, PHP, Python, Perl, CGI
tlantos
Posts: 4
Joined: 2004-11-17 17:11
Location: Hamburg

Zeichen per Script löschen

Post by tlantos »

Hallo zusammen,

ich google jetzt schon drei Tage und habe nichts entsprechendes gefunden oder ich bin zu blöd dafür.

Also, ich möchte per Script die Zeichen vor einem < und nach einem > löschen, so daß ich nur den Inhalt zwischen den spitzen Klammern übrig habe. Ich dachte ich mache das Ganze mit sed, aber habe mich da irgendwie festgefranst. Ich hoffe ihr könnt mir, wie bisher helfen.

Beispiel einer solchen Zeile:

Code: Select all

/var/spool/postfix/defer/3/53902148B60:<xxxx@xxxx.xx>: Name service error for name=xxxx.xx type=MX: Host not found, try again
/var/spool/postfix/defer/3/58302149470:<yyyy@yyyy.yy>: connect to yyyy.yy[yy.yy.yy.yy]: Connection refused
/var/spool/postfix/defer/3/5C14E148F31:<zzzz@zzzz.zz>: Name service error for name=zzzz.zz type=MX: Malformed name server reply
Ich möchte also die Email-Adressen extrahieren und in eine eigene Datei schreiben.
User avatar
Joe User
Project Manager
Project Manager
Posts: 11174
Joined: 2003-02-27 01:00
Location: Hamburg

Re: Zeichen per Script löschen

Post by Joe User »

Quick&Dirty&Untested:

Code: Select all

sed '|.*<(.*)>.*|1|g' /path/to/file > /path/to/mailadressen.txt
PayPal.Me/JoeUserFreeBSD Remote Installation
Wings for LifeWings for Life World Run

„If there’s more than one possible outcome of a job or task, and one
of those outcomes will result in disaster or an undesirable consequence,
then somebody will do it that way.“ -- Edward Aloysius Murphy Jr.
tlantos
Posts: 4
Joined: 2004-11-17 17:11
Location: Hamburg

Re: Zeichen per Script löschen

Post by tlantos »

Wow, danke schön, daß ging fix.

Hat leider nicht ganz hingehauen, aber auf Basis deines Scripts konnte ich endlich das Problem lösen.

Hier mal mein Ergebnis:

Code: Select all

grep -rh "@" /path/to/search/|awk '{ print $1 }'|sed 's/<//g; s/>://g' > mailadressen.txt
User avatar
Joe User
Project Manager
Project Manager
Posts: 11174
Joined: 2003-02-27 01:00
Location: Hamburg

Re: Zeichen per Script löschen

Post by Joe User »

Flüchtigkeitsfehler, folgendes sollte funktionieren:

Code: Select all

sed 's/<(.*)>/1/g' /path/to/file > /path/to/mailadressen.txt
PayPal.Me/JoeUserFreeBSD Remote Installation
Wings for LifeWings for Life World Run

„If there’s more than one possible outcome of a job or task, and one
of those outcomes will result in disaster or an undesirable consequence,
then somebody will do it that way.“ -- Edward Aloysius Murphy Jr.