【发布时间】:2010-09-16 12:32:44
【问题描述】:
尝试调试服务器问题,我唯一的日志文件是 20GB 的日志文件(甚至没有时间戳!为什么人们使用 System.out.println() 作为日志记录?在生产中?!)
使用 grep,我找到了我想查看的文件区域,第 347340107 行。
除了做类似的事情
head -<$LINENUM + 10> filename | tail -20
...这需要head 读取日志文件的前 3.47 亿行,是否有一个快速简便的命令可以将行 347340100 - 347340200(例如)转储到控制台?
update 我完全忘记了 grep 可以打印匹配的上下文......这很好用。谢谢!
【问题讨论】:
-
我想 grep 必须搜索整个文件必须有一个 cpu 不那么密集的方式来做到这一点。