Перейти к содержимому
Калькуляторы

Парсинг 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

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

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

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

Изменено пользователем jax_911

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

или так =)

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

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

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

 

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 который соответствует этому маку.

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Гость
Ответить в тему...

×   Вставлено в виде отформатированного текста.   Вставить в виде обычного текста

  Разрешено не более 75 смайлов.

×   Ваша ссылка была автоматически встроена.   Отобразить как ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставить изображения напрямую. Загрузите или вставьте изображения по ссылке.