[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: Регеспом к tcl помогите



On Tue, 22 Feb 2005 18:12:56 +0300
 "Yuri Kozlov" <yuray@id.ru> wrote:
On Tue, 22 Feb 2005 16:19:02 +0300
 Artem Chuprina <ran@ran.pp.ru> wrote:
Yuri Kozlov -> <debian-russian@lists.debian.org> @ Tue, 22 Feb 2005 13:42:46 +0300:

YK> Привет всем.

YK> Хочу обработать логи от dhcpd вида

YK> Feb 18 08:14:56 dns dhcpd: DHCPDISCOVER from 00:02:b3:18:b6:7b via 172.20.61.1 YK> Feb 18 08:14:46 dns dhcpd: DHCPDISCOVER from 00:02:b3:18:b6:00 via
YK> 172.20.61.1: not authoritative for subnet

YK> Написал что-то типа
YK> set iMAC {00:02}
YK> append exp {(.{15})} {.*?} {dhcpd:\ DHCPDISCOVER\ from\ } "($iMAC\.\*\?)" {\
YK> via\ } {(.*?)$}
YK> regexp -expanded $exp $i -> discDate MAC discGateway


YK> Но в некоторых строках(а в некоторых нет!) в discGateway кроме ip
YK> пишется дополнительная информация.

YK> Что добавить в регесп, чтобы эта информация тоже в переменную
YK> засовывалась или чтобы писалось пустое значение в противном случае?

{([0-9.]+)}. Если сам писал вышеупомянутое, то куда вставить - найдешь...
Спасибо, теперь получилось

append exp {(.{15})} {.*?} {dhcpd:\ DHCPDISCOVER\ from\ } "($iMAC\.\*\?)" {\ via\ } {([0-9.]+)} {(.*)$}

И последняя вещь, которую хочется сделать этим регеспом
чтобы в получившееся значение ": not authoritative for subnet"
не попадало двоеточие и пробел.


А сам доковырял:
append exp {(.{15})} {.*?} {dhcpd:\ DHCPDISCOVER\ from\ } "($iMAC\.\*\?)" {\ via\ } {([0-9.]+)} {($|:\ )(.*)$}

Может можно покороче ? :)

Regards,
Yuri Kozlov



Reply to: