Date: Wed, 27 Aug 2008 23:43:52 +0930 From: Wayne Sierke <ws@au.dyndns.ws> To: Martin McCormick <martin@dc.cis.okstate.edu> Cc: freebsd-questions@freebsd.org Subject: Re: Regular Expression Trouble Message-ID: <1219846432.49053.237.camel@predator-ii.buffyverse> In-Reply-To: <200808271325.m7RDP28b044255@dc.cis.okstate.edu> References: <200808271325.m7RDP28b044255@dc.cis.okstate.edu>
next in thread | previous in thread | raw e-mail | index | archive | help
On Wed, 2008-08-27 at 08:25 -0500, Martin McCormick wrote: > My thanks to several people who have provided great suggestions > and an apology for not being clear on the log data I am mining > for MAC addresses. It is syslog and a typical line looks like: > > Aug 26 20:45:36 dh1 dhcpd: DHCPACK on 10.198.67.116 to 00:12:f0:88:97:d6 > (peaster-laptop) via 10.198.71.246 > > That was one line broken to aid in emailing, but that's what > types of lines are involved. The MAC appears at different field > locations depending on the type of event being logged so awk is > perfect for certain types of lines, but it misses others and no > one awk expression gets them all. The way to deal with that is to specify a pattern to match something that distinguishes each form of log line that you want to extract from. With the following (contrived) log data: Aug 26 20:45:36 dh1 dhcpd: DHCPDISCOVER from 00:12:f0:88:97:d6 (peaster-laptop) via eth0 Aug 26 20:45:36 dh1 dhcpd: DHCPACK on 10.198.67.116 to 00:12:f0:88:97:d6 (peaster-laptop) via 10.198.71.246 use awk with a script such as: awk '/DHCPDISCOVER/ {print $8} /DHCPACK/ {print $10}' logfile Wayne
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?1219846432.49053.237.camel>