![](/img/trans.png)
[英]How to extract lines from a text file which contains ERROR key word in the sentence using VB6
[英]How to extract specified lines from text file with a couple of lines before?
我有一些大型服務器日志文件,其中記錄了我感興趣的錯誤,如下所示:
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)
就像我提到的那樣,這些都是非常大的文件,並且其中包含很多NullpointerException,它們是由各種原因引起的。
我對從所有這些文件中提取在checkJData方法中導致NPE的URL感興趣 。 我知道我可以grep'com.el.servlet.Helper.checkJData(Helper.java:1205)'的所有行,但是如何在此之前獲得兩行?
Windows中是否有工具可以做到這一點? 如果不是bash腳本,那就也不錯。
使用bash腳本:
egrep -B1 "java.lang.NullPointerException" * | grep "request=" | cut -d"=" -f2-
代替*放置那些日志文件的路徑。
一個Windows的解決方案:它使用從findrepl.bat叫幫手批處理文件- http://www.dostips.com/forum/viewtopic.php?f=3&t=4697
findrepl "at com.el.servlet.Helper.checkJData\(Helper.java:1205\)" /o:-2:+0 <file.log
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.