我有大的服務器日誌文件中所記錄的錯誤,我感興趣的集合,這樣看:如何從文本文件中提取幾行前的指定行?
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,由各種東西引起。
我對感興趣從所有這些文件中提取導致NPE的網址在checkJData方法。我知道我可以通過com.el.servlet.Helper.checkJData(Helper.java:1205)'grep所有行',但是如何在這之前獲得兩行?
在Windows中有沒有一個工具可以做到這一點?如果不是bash腳本也會很好。
我需要什麼樣的竟是egrep的-B2 「checkJData」 * | grep「request =」|切-d「=」-f2-但你讓我到那裏,謝謝 –