Forum Linux.pl

Dystrybucje Linuksa => Debian => Wątek zaczęty przez: w 2020-01-13, 09:52:43

Tytuł: Wyciągnięcie danych z logów
Wiadomość wysłana przez: w 2020-01-13, 09:52:43
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. :)
Tytuł: Odp: Wyciągnięcie danych z logów
Wiadomość wysłana przez: beaker w 2020-01-13, 10:01:54
awk '{print $7, $12}'
Tytuł: Odp: Wyciągnięcie danych z logów
Wiadomość wysłana przez: w 2020-01-13, 10:49:34
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
Tytuł: Odp: Wyciągnięcie danych z logów
Wiadomość wysłana przez: beaker w 2020-01-13, 11:13:20
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
Tytuł: Odp: Wyciągnięcie danych z logów
Wiadomość wysłana przez: w 2020-01-13, 11:21:26
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.
Tytuł: Odp: Wyciągnięcie danych z logów
Wiadomość wysłana przez: beaker w 2020-01-13, 11:28:38
Użyj kolejnego grep jak podałem w przykładzie.