Dystrybucje Linuksa > Debian

Wyciągnięcie danych z logów

(1/2) > >>

:
Witam,
chciałbym wyciągnąć z loga tą co mnie interesuje, ale nie wiem, jak to do końca zrobić...
Mam coś takiego:

Jan 13 09:43:22 mail postfix/smtp[14257]: 0553B10185F: to=<zzz.yyy@tioi.com.pl>, relay=mail.tioi.com.pl[91.245.28.22]:25, delay=53, delays=0.04/0/0.14/53, dsn=2.0.0, status=sent (250 OK id=1iqvJi-0005Bc-LM)

A interesuje mnie taki efekt:
<zzz.yyy@tioi.com.pl> status=sent (250 OK id=1iqvJi-0005Bc-LM)

Znalazłęm coś takiego, ale nie wie, jak dodać drugą cześć...
tail -f /var/log/mail.info | grep to= | awk '{print $7}'
to=<zzz.yyy@tioi.com.pl>

Z góry dzięki za pomoc. :)

beaker:
awk '{print $7, $12}'

:
Super jest już prawie extra. Działa fajnie, ale jak zrobić, aby tylko były te 2 rzeczy ?
Czyli to=<ccc@yyy.pl>, status=sent


to=<ccc@yyy.pl>, status=sent
removed
sender
from=<>,
removed
from

beaker:
Powinieneś mieć już tylko te dwie rzeczy.
Pokaż kształt obecnej komendy, przykładową linijkę i wynik operacji na tej linijce.

Szklana kula podpowiada jeszcze użycie kolejnego grep aby łapać tylko linijki z status=sent, przykładowo grep to= | grep =sent

:
root@mail:~# cat /var/log/mail.info | grep to= | awk '{print $7,$13}' | head -n 5
reject: <spameri@tiscali.it>:
reject: <spameri@tiscali.it>:
to=<xxx@bbb.pl>, status=sent
reject: <spameri@tiscali.it>:
to=<xxx@bbb.pl>, status=sent

root@mail:~# cat /var/log/mail.info | awk '{print $7,$14}' | head -n 5
from
connection
from
max Jan
max Jan

Logi, które lecą mają nie raz inne linijki, ale słowa kluczowe są te same.

Nawigacja

[0] Indeks wiadomości

[#] Następna strona

Idź do wersji pełnej