From owner-freebsd-questions@FreeBSD.ORG Wed Aug 27 03:12:20 2008 Return-Path: Delivered-To: freebsd-questions@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id F23691065672 for ; Wed, 27 Aug 2008 03:12:20 +0000 (UTC) (envelope-from martin@dc.cis.okstate.edu) Received: from dc.cis.okstate.edu (dc.cis.okstate.edu [139.78.103.93]) by mx1.freebsd.org (Postfix) with ESMTP id AC9F98FC16 for ; Wed, 27 Aug 2008 03:12:20 +0000 (UTC) (envelope-from martin@dc.cis.okstate.edu) Received: from dc.cis.okstate.edu (localhost.cis.okstate.edu [127.0.0.1]) by dc.cis.okstate.edu (8.14.2/8.13.8) with ESMTP id m7R3CJNk076060 for ; Tue, 26 Aug 2008 22:12:20 -0500 (CDT) (envelope-from martin@dc.cis.okstate.edu) Message-Id: <200808270312.m7R3CJNk076060@dc.cis.okstate.edu> To: freebsd-questions@freebsd.org Date: Tue, 26 Aug 2008 22:12:19 -0500 From: Martin McCormick Subject: Regular Expression Trouble X-BeenThere: freebsd-questions@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: User questions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 27 Aug 2008 03:12:21 -0000 I am trying to isolate only the MAC addresses that appear in dhcpd logs. For anyone who is interested, the sed construct that should do this looks like: sed 's/.*\([[ your regular expression ]]\).*/\1/' The \1 tells sed to only print what matched and skip all the rest. I am doing something wrong with the regular expression that is supposed to recognise a MAC address. MAC addresses look like 5 pairs of hex digits followed by :'s and then a 6TH pair to end the string. I have tried: [[:xdigit:][:xdigit:][:punct:] Sorry. It won't all fit on a line, but there should be a string of 5 pairs and the : and then the 6TH pair followed by the closing ] so the expression ends with ]] One should also be able to put: [[:xdigit:][:xdigit:][:punct:]]\{5,5\}[[:xdigit:][:xdigit]] Any ideas as to what else I can try? What happens is I get single characters per line that look like the first or maybe the last character in that line, but certainly nothing useful or nothing that remotely looks like a MAC address. Any ideas as to what's wrong with the regular expression? Many thanks. Martin McCormick WB5AGZ Stillwater, OK Systems Engineer OSU Information Technology Department Telecommunications Services Group