Subject: Re: dhcpd.leases parser
From: Arthur Corliss (corliss@odinicfoundation.org)
Date: Fri Nov 02 2001 - 14:50:50 AKST
On Fri, 2 Nov 2001, Mike Barsalou wrote:
>
> Anyone have or know of a dhcpd.leases file parser that will turn the
> dhcpd.leases file into a comma delimited file?
>
> I want to get the MAC address, computer name, IP address and maybe a few
> other items.
>
> Can anyone help?
cat /var/state/dhcp/dhcpd.leases | dhcp2csv.pl
#!/usr/bin/perl
my ($line, @fields, $index, $value);
while (defined ($line = <STDIN>)) {
chomp($line);
$line =~ s/^\s*//;
if ($line =~ /^lease (\S+)/) {
($index, $value) = (0, $1);
} elsif ($line =~ /^hardware ethernet (.+);/) {
($index, $value) = (1, $1);
} elsif ($line =~ /^client-hostname "(.+)";/) {
($index, $value) = (2, $1);
}
if (defined($index) && defined ($fields[$index])) {
while (scalar @fields < 3) { $fields[scalar @fields] = '' };
print join(', ', @fields), "\n";
@fields = ();
}
$fields[$index] = $value if defined($index);
$index = undef;
}
if (scalar @fields) {
while (scalar @fields < 3) { $fields[scalar @fields] = '' };
print join(', ', @fields), "\n";
}
exit 0;
--Arthur Corliss
Bolverk's Lair -- http://arthur.corlissfamily.org/
"Live Free or Die, the Only Way to Live" -- NH State Motto
This archive was generated by hypermail 2a23 : Fri Nov 02 2001 - 14:55:47 AKST