Yuri Kozlov -> debian-russian@lists.debian.org  @ Wed, 23 Feb 2005 01:10:23 
+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"
 >> не попадало двоеточие и пробел.
 >>

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

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

Можно. У тебя все бэкслеши лишние, и из разных строчек ты его собираешь
совершенно зря.

-- 
Artem Chuprina
RFC2822: <ran{}ran.pp.ru> Jabber: [EMAIL PROTECTED]


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

Ответить