SED

Vom einfachen Programm zum fertigen Debian-Paket, Fragen rund um Programmiersprachen, Scripting und Lizenzierung.
Antworten
Benutzeravatar
Valdez
Beiträge: 554
Registriert: 08.05.2008 14:15:23
Wohnort: Tirol
Kontaktdaten:

SED

Beitrag von Valdez » 04.11.2011 09:01:12

Code: Alles auswählen

[2011-10-01 00:00:13+02:00] [mail.xxx.xxx [qmail] [info] 1317420013.475618 info msg 1049029: bytes 9546 from <reply@uniport.at> qp 26740 uid 203
[2011-10-01 00:00:13+02:00] [mail.xxx.xxx] [qmail] [info] 1317420013.701527 info msg 1049047: bytes 9651 from <reply@uniport.at> qp 26744 uid 166
wie kann ich mit sed nur die email addis auslesen ? sprich in den 2 zeilen nur die email addi "reply@uniport.at" ausgeben lassen ?

danke
<<its like 10.000 spoons when all you need is a knife>>

Colttt
Beiträge: 3012
Registriert: 16.10.2008 23:25:34
Wohnort: Brandenburg
Kontaktdaten:

Re: SED

Beitrag von Colttt » 04.11.2011 09:07:44

ist awk auch erlaubt?
dann würde das so aussehen:

Code: Alles auswählen

 echo "[2011-10-01 00:00:13+02:00] [mail.xxx.xxx] [qmail] [info] 1317420013.701527 info msg 1049047: bytes 9651 from <reply@uniport.at> qp 26744 uid 166" |awk '{print $13}'
<reply@uniport.at>
Debian-Nutzer :D

ZABBIX Certified Specialist

uname
Beiträge: 12414
Registriert: 03.06.2008 09:33:02

Re: SED

Beitrag von uname » 04.11.2011 09:13:50

Man könnte alles vom Anfang (^) bis incl."<" und von incl. ">" bis zum Ende ($) wegwerfen.

Code: Alles auswählen

sed 's/^.*<//;s/>.*$//' datei.txt
Wäre nur doof wenn irgendwo ein "<" oder ">" zusätzlich steht. Dafür sieht es natürlich gleich viel cooler aus als wenn man eine feste Spalte wie bei "awk" ausgibt.

Benutzeravatar
Meillo
Moderator
Beiträge: 9241
Registriert: 21.06.2005 14:55:06
Wohnort: Balmora
Kontaktdaten:

Re: SED

Beitrag von Meillo » 04.11.2011 10:16:09

Wie waer's mit:

Code: Alles auswählen

grep -o '<[a-zA-Z0-9._+-]*@[a-zA-Z0-9.-]*>'
Die RegExp ist vielleicht nicht optimal, aber man kann sie sich ja anpassen.
Use ed once in a while!

Benutzeravatar
Valdez
Beiträge: 554
Registriert: 08.05.2008 14:15:23
Wohnort: Tirol
Kontaktdaten:

Re: SED

Beitrag von Valdez » 04.11.2011 10:37:47

danke für die antworten ... ich lese grad man pages von sed und grep ... und versuch zu entziffern was genau da gemacht wird =)

lg
<<its like 10.000 spoons when all you need is a knife>>

brummer
Beiträge: 182
Registriert: 19.02.2007 19:21:23

Re: SED

Beitrag von brummer » 04.11.2011 18:12:05

Code: Alles auswählen

sed 's/ *(.*)//; s/>.*//; s/.*[:<] *//'
siehe hier :
http://sed.sourceforge.net/sed1line.txt

Antworten