我通过Java的Log4j和Python的日志记录模块生成的日志进行了大量的操作。两者都创建包含换行符的堆栈跟踪,导致日志条目跨越多行。这使得使用grep很难找到并且违反了传统的日志文件格式化规则(每行一个条目)。
如果我在堆栈跟踪中发现一些有趣的东西,我必须打开整个日志文件(可能非常大)并浏览到找到的grep行,然后向上滚动以查找日志条目的开头。这感觉很糟糕。
有没有更好的方法来解决这个问题?也许以某种方式从堆栈跟踪中删除换行符?
感谢您的任何建议!
答案 0 :(得分:-1)
grep 'your expressing and file name' | less
这将首先显示小筹码。然后输入以了解更多信息。
你也可以做文件名的'head'或'tail'
tail -1000 'filename'
这显示该文件的最后一行(尾部)1000行。
答案 1 :(得分:-1)
如果您有GNU grep,可以使用-C
(AKA --context
)开关:
-C NUM , - 上下文 = NUM
打印NUM行输出上下文。放置一行包含 - 之间 连续的比赛组。
我不确定-C
是否属于POSIX grep,但值得一试。