我有一组大型服务器日志文件,其中记录了我感兴趣的错误,如下所示:
2013-08-14 07:49:00,490 [ajp-8009-5] ERROR com.el.filter.SiteFilter - Caught Top-Level Exception - request=http://www.site2.com/something/home.dept?page=error&buy=123&switchcurrency=EUR
java.lang.NullPointerException
at com.el.servlet.Helper.checkJData(Helper.java:1205)
at com.el.servlet.ElServlet.doPost(ElServlet.java:113)
(...)
2013-08-14 08:18:37,984 [ajp-8009-3] ERROR com.el.filter.SiteFilter - Caught Top-Level Exception - request=http://www.site1.com/productId=123456.html
java.lang.NullPointerException
at com.el.servlet.Helper.checkJData(Helper.java:1205)
at com.el.servlet.ElServlet.doPost(ElServlet.java:113)
就像我提到的那样,这些文件非常大,其中有很多 NullpointerExceptions,由各种东西引起。
我有兴趣从所有这些文件中提取在 checkJData 方法中导致 NPE 的 url。我知道我可以 grep 'at com.el.servlet.Helper.checkJData(Helper.java:1205)' 的所有行,但是在那之前如何获取这两行?
在 Windows 中是否有工具可以做到这一点?如果不是 bash 脚本也会很好。