Как с помощью однострочника изменить в файле /var/lib/dhcp3/dhcpd.leases последний lease для ip?
Пример файла:
...
lease 192.168.10.59 {
starts 6 2012/06/09 02:13:31;
ends 6 2012/06/09 02:43:31;
cltt 6 2012/06/09 02:13:31;
binding state active;
next binding state free;
hardware ethernet 00:00:06:a7:b6:fd;
uid «\001\000\300&\247\266\375»;
client-hostname «001-WS»;
}
lease 192.168.10.13 {
starts 6 2012/06/09 03:12:20;
ends 6 2012/06/09 03:42:20;
cltt 6 2012/06/09 03:12:20;
binding state active;
next binding state free;
hardware ethernet 00:11:11:11:8c:97;
uid «\001\000\021\021G\214\227»;
client-hostname «002-ws»;
}
lease 192.168.10.59 {
starts 6 2012/06/09 03:13:31;
ends 6 2012/06/09 03:43:31;
cltt 6 2012/06/09 03:13:31;
binding state active;
next binding state free;
hardware ethernet 00:00:06:a7:b6:fd;
uid «\001\000\300&\247\266\375»;
client-hostname «001-WS»;
}
...
Нужно заменить строчку строчку содержащую «ends» у последнего совпадения ip 192.168.10.59
Пока получилось показать и изменить последний lease для ip:
cat /var/lib/dhcp3/dhcpd.leases | grep «lease 192.168.10.75» -A9 | tail -n10 | sed «/ends/s/.*/ ends 6 `date '+%Y/%m/%d %T' | sed 's/\//\\\\\//g'`/»
заменить сам файл этим выводом не могу т.к. выводится только один ip