我想在日志文件中隔离错误类型。我无法为其制定逻辑。假设我的日志文件中有这些不同类型的错误。现在我只想提取这些类型。就像下面提到的日志示例一样,我有三种类型的错误:HTTP 错误、套接字超时、参数无效。我还有很多这样的。如何提取所有错误的列表?请指导。
Aug 1 04:41:47 iibapp1 user:err|error IIB[17760440]: An HTTP error occurred. Aug 1 04:41:47 iibapp1 user:err|error IIB[17760440]: Socket Timed out'. Aug 1 04:41:47 iibapp1 user:err|error IIB[17760440]: Invalid Parameters'.
答案1
不确定我完全理解这个问题。是什么阻止你使用eg grep
?尝试
grep "An HTTP error occurred." path/to/logfile
并将结果重定向到适当的文件。
答案2
如果您知道只想查看这三个字符串,请询问grep
它们:
grep -E ": An HTTP error occurred\.\$|: Socket Timed out'\.\$|: Invalid Parameters'\.\$" input
我通过强制每个文本以冒号空格 ( :
) 开头以及强制它们位于行尾来对文本进行了一些锚定$
。$
由于搜索文本中出现单引号,因此我在 grep 参数周围使用了双引号,因此句点 和被转义。