Я пытаюсь найти MAC-адрес в radius.log на удаленном сервере с небольшим скриптом в python. Я хочу найти один конкретный mac и распечатать полную строку, содержащую этот адрес mac. Я могу только подтвердить, что mac найден методом search().ищет строку и печатает полную строку, содержащую эту строку
часть моего кода:
prog=re.compile(self.MAC_ADDR)
sess.exec_command('tail -f /usr/local/var/log/radius/radius.log')
rl, wl, xl = select.select([sess],[],[],0.0)
if len(rl) > 0: #stdout
block= sess.recv(1024)
macfound=prog.search(block)
if macfound:
print "##############################################################################"
print self.MAC_ADDR,"found in tail"
time.sleep (1)
Извините, но в чем проблема? Вы говорите, что можете подтвердить, что вы действительно находите MAC-адрес, поэтому ваша программа, похоже, работает. – Evert
Да, никаких проблем с программой, однако то, что я на самом деле желаю, это распечатать полную строку, содержащую mac. в каждом блоке есть куча строк, а текущая программа только подтверждает наличие макроса в блоке. Я хочу, чтобы линия была напечатана. –
Вы должны показать свое регулярное выражение ('self.MAC_ADDR'). Если вы используете группы, вы можете захватить соответствующую строку в группе регулярных выражений и распечатать эту группу. – Evert