【发布时间】:2011-01-10 01:31:06
【问题描述】:
我需要从 D-Link 路由器中提取 Voip 日志,因此我设置了一个小 Python 脚本,通过 telnet 在该路由器中执行命令。 我的脚本执行“cat /var/log/calls.log”并返回结果,但是...... 它还发送不重要的内容,例如 BusyBox 横幅等... 如何忽略从 1 到 6 和最后 2 的行? 这是我当前的输出:
yaba@foobar:/stuff$ python calls.py
BusyBox v1.00 (2009.04.09-11:17+0000) Built-in shell (msh)
Enter 'help' for a list of built-in commands.
DVA-G3170i/PT # cat /var/call.log
1 ,1294620563,2 ,+351xxx080806 ,xxx530802 ,1 ,3 ,1
DVA-G3170i/PT # exit
而我只需要:
1 ,1294620563,2 ,+351xxx080806 ,xxx530802 ,1 ,3 ,1
(可以有多行) 这样我就可以将其保存到 CSV,然后再保存到 sql db。
谢谢,对不起,我的英语不好。
【问题讨论】:
-
我认为 head 和 tail 在这方面比 AWK 好...
-
如果你能保证头部和尾部的长度总是完全相同,那么......它仍然会启动三个重量级进程并将它们连接在一起。 AWK 是一种专门为此类工作而设计的工具,只要您花 15 分钟时间来学习它,它就会做得很好。