3

我通过 Java 的 Log4j 和 Python 的日志记录模块生成的日志做了很多 grepping。两者都创建包含换行符的堆栈跟踪,导致日志条目跨越多行。这使得使用 grep 很难找到内容,并且违反了传统的日志文件格式规则(每行一个条目)。

如果我在堆栈跟踪中发现一些有趣的东西,我必须打开整个日志文件(可能非常大)并浏览到 grep 找到的行,然后向上滚动以找到日志条目的开头。这感觉很笨拙。

有没有更好的方法来处理这个?也许以某种方式从堆栈跟踪中删除换行符?

感谢您的任何建议!

4

2 回答 2

-1
 grep 'your expressing and file name' | less

这将首先向您显示小筹码。然后进入了解更多。

你也可以做文件名的“头”或“尾”

  tail -1000 'filename'

这显示了该文件的最后(尾)1000 行。

于 2011-02-09T06:19:26.450 回答
-1

如果你有 GNU grep,你可以使用-C(AKA --context) 开关:

-C NUM , --context = NUM
​​ 打印 NUM 行输出上下文。在连续的匹配组之间放置一个包含 -- 的行。

我不确定它是否-C是 POSIX grep 的一部分,但值得一试。

于 2011-02-09T06:35:41.177 回答