Beefy Boxes and Bandwidth Generously Provided by pair Networks
No such thing as a small change
 
PerlMonks  

Re: Regular Expression for MAC Address

by petdance (Parson)
on May 26, 2001 at 00:38 UTC ( #83425=note: print w/ replies, xml ) Need Help??


in reply to Regular Expression for MAC Address

The bummer with what you have there, besides being long, is that it matches stuff if you've got the colons and the dashes intermingled in the same string, which is probably NOT what you want. Try this chunk of code out:

#!/usr/bin/perl -w use strict; my $d = "[0-9A-Fa-f]"; my $dd = "$d$d"; while (<DATA>) { /($dd([:-])$dd(\2$dd){4})/o && print $1, "\n" } __END__ My MAC address is 00-00-00-00-00-00 over there, and it's 00:00:00:00:00:00 over here, and the date/time happens to be 2001-05-25-15:27. Note that 00:00-00:00-00:00 isn't really valid. Oh, and I have one address of DE:AD:BE:EF:21:12.
When I run it, I get the following output
00-00-00-00-00-00 00:00:00:00:00:00 DE:AD:BE:EF:21:12
Note that it skipped the 4th sample line where the dashes 'n' colons are intermingled.

xoxo,
Andy

%_=split/;/,".;;n;u;e;ot;t;her;c; ".   #   Andy Lester
'Perl ;@; a;a;j;m;er;y;t;p;n;d;s;o;'.  #   http://petdance.com
"hack";print map delete$_{$_},split//,q<   andy@petdance.com   >


Comment on Re: Regular Expression for MAC Address
Select or Download Code
Re: Re: Regular Expression for MAC Address
by marius (Hermit) on May 26, 2001 at 00:54 UTC
    Petdance,
    Good catch on the intermixed colons and dashes. The thought of that honestly had not crossed my mind. The backreferencing was a good way to do this. It's not very often that I run across spots to backref in a match or the LHS of a substitution. ++ all around to all responders!

    -marius
Regular Expression for MAC Address
by amitubale (Initiate) on Feb 27, 2003 at 22:37 UTC
    Hi I have log files that look like this
    Mar 14 14:54:13 10.70.204.11 Draper-1-01-office-01 (Info): Station [re +snet204-011.wireless]00022d33a500 Authenticated Mar 14 14:54:13 10.70.204.11 Draper-1-01-office-01 (Info): Station [re +snet204-011.wireless]00022d33a500 Reassociated Mar 14 14:58:14 10.70.204.11 Draper-1-01-office-01 (Info): Deauthentic +ating [resnet204-034.wireless]00022d250968, reason "Must Authenticate + Before Ass ociating" Mar 14 14:58:14 10.70.204.11 Draper-1-01-office-01 (Info): Station [re +snet204-034.wireless]00022d250968 Authenticated Mar 14 14:58:14 10.70.204.11 Draper-1-01-office-01 (Info): Station [re +snet204-034.wireless]00022d250968 Reassociated Mar 14 14:59:47 10.70.204.11 Draper-1-01-office-01 (Info): Started dri +ver for port "awc0" Mar 14 14:59:47 10.70.204.11 Draper-1-01-office-01 (Info): Started dri +ver for port "fec0" Mar 14 15:00:04 10.70.204.11 Draper-1-01-office-01 (Info): Bound "AWC +Packet Router" protocol to device "rptr2" Mar 14 15:00:04 10.70.204.11 Draper-1-01-office-01 (Info): Bound "AWC +DDP Protocol" protocol to device "rptr2"
    As you see the MAC address are not in':' or "-" seperated.

    In the above case how do I find the MAC address

      I think this found all the MAC's in your post but it's a little difficult to tell.

      You might like to read Site How to - post code

      C:\test>perl -nle" print $1 while m[([0-9a-f]{12})]ig" - Hi I have log files that look like this Mar 14 14:54:13 10.70.204.11 D +raper-1-01-office-01 (Info): Station resnet204- 011.wireless00 022d33a500 Authenticated Mar 14 14:54:13 10.70.204.11 Draper-1-01-offi +ce-01 (Info): Station resnet204- 011.wireless00022d33a500 Reas sociated Mar 14 14:58:14 10.70.204.11 Draper-1-01-office-01 (Info): De +authenticating resnet204-034.wireless00022d250968, reason "Mus t Authenticate Before Ass ociating" Mar 14 14:58:14 10.70.204.11 Drape +r- 1-01-office-01 (Info): Station resnet204-034.wireless00022d 250968 Authenticated Mar 14 14:58:14 10.70.204.11 Draper-1- 01-office- +01 (Info): Station resnet204-034.wireless00022d250968 Reassoci ated Mar 14 14:59:47 10.70.204.11 Draper-1-01- office-01 (Info): Start +ed driver for port "awc0" Mar 14 14:59:47 10.70.204.11 Draper- 1-01-office-01 (Info): Started driver for port "fec0" Mar 14 15:00:04 +10.70.204.11 Draper-1-01-office-01 (Info): Bound "AWC Packet R outer" protocol to device "rptr2" Mar 14 15:00:04 10.70.204.11 Draper- +1-01-office-01 (Info): Bound "AWC DDP Protocol" protocol to de vice "rptr2" As you see the MAC address are not in':' or "-" seperated +. In the above case how do I find the MAC address 00022d33a500 00022d33a500 00022d250968 00022d250968 00022d250968 ^Z

      Examine what is said, not who speaks.
      1) When a distinguished but elderly scientist states that something is possible, he is almost certainly right. When he states that something is impossible, he is very probably wrong.
      2) The only way of discovering the limits of the possible is to venture a little way past them into the impossible
      3) Any sufficiently advanced technology is indistinguishable from magic.
      Arthur C. Clarke.

Log In?
Username:
Password:

What's my password?
Create A New User
Node Status?
node history
Node Type: note [id://83425]
help
Chatterbox?
and the web crawler heard nothing...

How do I use this? | Other CB clients
Other Users?
Others making s'mores by the fire in the courtyard of the Monastery: (7)
As of 2014-09-22 00:44 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    How do you remember the number of days in each month?











    Results (176 votes), past polls