Jump to content
Калькуляторы

Парсинг dhcpd.leases

Прошу помощи. В написании простого скрипта.

 

Необходимо выполнить выборку IP адресов из файла dhcpd.lease и положить в отдельный файл dhcp_ip,

с условием исключения повторяющихся IP адресов... т.е. если в файле dhcpd.leases находятся 2-3..10 одинаковых IP, то на выход должен попасть только один

 

 

файл dhcpd.leases вот такого вида

lease 10.2.16.6 {

starts 3 2010/03/24 04:03:06;

ends 6 2010/03/27 04:03:06;

binding state active;

next binding state free;

hardware ethernet 00:80:48:53:cf:e7;

uid "\001\000\200HS\317\347";

option agent.circuit-id 0:4:0:b6:1:2;

option agent.remote-id 0:6:0:12:cf:99:bf:a0;

client-hostname "kompaste";

}

lease 10.2.16.6 {

starts 3 2010/03/24 04:03:06;

ends 6 2010/03/27 04:03:06;

binding state active;

next binding state free;

hardware ethernet 00:80:48:53:cf:e7;

uid "\001\000\200HS\317\347";

option agent.circuit-id 0:4:0:b6:1:2;

option agent.remote-id 0:6:0:12:cf:99:bf:a0;

client-hostname "kompaste";

}

 

lease 10.2.16.10 {

starts 2 2010/03/23 07:16:21;

ends 5 2010/03/26 07:16:21;

binding state active;

next binding state free;

hardware ethernet 00:19:66:08:df:14;

uid "\001\000\031f\010\337\024";

option agent.circuit-id 0:4:0:b6:1:3;

option agent.remote-id 0:6:0:12:cf:99:bf:a0;

client-hostname "majegngerl";

 

вот такой файл должен получиться из верхнего примера

10.2.16.6

10.2.16.10

Share this post


Link to post
Share on other sites

к примеру такой

cat dhcpd.leases | grep ^lease | cut -d " " -f 2 | uniq > dhcp_ip

Edited by jax_911

Share this post


Link to post
Share on other sites

или так )

grep ^lease dhcpd.leases | sort -u | awk '{print($2)}'

Share this post


Link to post
Share on other sites

или так =)

awk '/^lease/ { print $2 }' dhcpd.leases | sort -u

Share this post


Link to post
Share on other sites

Доброго времени суток

Также нужна помощь. К примеру есть

 

lease 192.168.1.70 {

starts 2 2011/03/29 15:02:04;

ends 4 2011/04/28 15:02:04;

cltt 2 2011/03/29 15:02:04;

binding state active;

next binding state free;

hardware ethernet 00:0c:29:70:78:9e;

uid "\001\000\014)px\236";

}

 

Как сделать вывод IP адреса по мак адресу? (с помощью bash)

К пример я задаю ему условие, что мак = 00:0c:29:70:78:9e , он мне должен выдать IP который соответствует этому маку.

Заранее спасибо

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
Sign in to follow this