我想用python中的一个小脚本在远程服务器的radius.log中找出一个MAC地址。我想搜索一个特定的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的完整行。每个块中都有一堆行,并且当前程序只能确认块中存在的mac。我也想看到打印的行。 –
你应该显示你的正则表达式('self.MAC_ADDR')。如果您使用组,则可以捕获正则表达式组中的相应行并打印该组。 – Evert