On Tue, 22 Feb 2005 18:12:56 +0300
 "Yuri Kozlov" <[EMAIL PROTECTED]> wrote:
On Tue, 22 Feb 2005 16:19:02 +0300
 Artem Chuprina <[EMAIL PROTECTED]> 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


-- To UNSUBSCRIBE, email to [EMAIL PROTECTED] with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]



Ответить