【发布时间】:2016-08-18 03:03:06
【问题描述】:
我有一个日志文件,其中充满了对我无用的异常。
它每两秒生成一次,当查看包含 24 小时日志记录的日志文件时,我很难获得所需的相关信息。
我的日志看起来像这样:
2013-04-21 00:00:00,852 [service name] ERROR java-class - Exception
at java.net ......
at java.apache ....
and 28 more lines like these.
我想清理日志副本到另一个文件。
显然 grep -v "string" -A29 foo.log > new_file.log 并不能帮助我过滤掉这 30 行。
我还尝试了几个 sed 和 awk 语句,我看到了其他人遇到的类似问题。但它们似乎都没有帮助。
我更像是网络管理员,开始涉足 linux 系统。
有人可以帮忙吗?
【问题讨论】:
-
我觉得寻找字符串可能不是正确的方法。 -A29 很好,但将正确的模式放在 grep 中,如“ERROR”。提供您需要提取的日志和部分,以便人们可以帮助您
-
会根据
2013-04-21之类的日期查找帮助吗? -
这在 awk 中绝对是微不足道的,但是您需要告诉我们更多有关您的日志文件的信息才能获得正确的答案。我假设在尝试消除“重复”条目时不应该考虑时间戳,但是日志中是否有一些关键值可以用来消除重复项?这就是您想要做的所有事情,还是您正在寻找一个脚本来让您提取特定记录,如果是这样,基于什么?记录之间有空行吗?显示更多的输入记录和您想要的输出。