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]