Ik heb een logfile waarin veldnaam=waarde paren in staan. Helaas staan die niet altijd op dezelfde plek in de string, dus ik kan niet met awk het 3e en 4e deel bijvoorbeeld printen.
Nu wil ik dus met sed of awk (ben er nog niet uit welke het mogelijk maakt) zorgen dat ik waarde1 en waarde2 dus uit de string haal en die achter elkaar print met een komma ertussen.
Voorbeeld string:
Sep 27 06:30:32 hostname daemon: NOTICE: text, user=e-mail, ip=[::fff
f:44.44.44.44], headers=0, body=1769135, rcvd=5097, sent=1836802, time=2724
Nu kunnen de headers, body, rcvd en sent items dus op andere plekken soms staan.
Heeft iemand een idee hoe dit op te lossen?
Iets in deze trant doet het niet goed:
awk '/rcvd=([0-9]+), sent=([0-9]+)/ {print $1, $3}'
Nu wil ik dus met sed of awk (ben er nog niet uit welke het mogelijk maakt) zorgen dat ik waarde1 en waarde2 dus uit de string haal en die achter elkaar print met een komma ertussen.
Voorbeeld string:
Sep 27 06:30:32 hostname daemon: NOTICE: text, user=e-mail, ip=[::fff
f:44.44.44.44], headers=0, body=1769135, rcvd=5097, sent=1836802, time=2724
Nu kunnen de headers, body, rcvd en sent items dus op andere plekken soms staan.
Heeft iemand een idee hoe dit op te lossen?
Iets in deze trant doet het niet goed:
awk '/rcvd=([0-9]+), sent=([0-9]+)/ {print $1, $3}'