提供完整日志的Linux命令[已关闭]

sxpgvts3  于 2022-11-28  发布在  Linux
关注(0)|答案(1)|浏览(141)

此问题似乎与a specific programming problem, a software algorithm, or software tools primarily used by programmers无关。如果您认为此问题与another Stack Exchange site相关,您可以留下评论,说明在何处可以找到此问题的答案。
5天前关闭。
Improve this question
是否有一个Linux命令(除了更少的)可以从日志文件中提取以下内容,其中每行开头的唯一模式为28868796,如下所示。
当我使用grep 28868796 logfile.log时,返回的结果不完整,它只返回第一行,如下所示,不是完整的日志。

2022-11-21 09:12:28,928 [JobCourier7] DEBUG connection.Connection.execute (Connection.java:91) - 28868796-IN: Start Parameter [values]

而我需要它返回完整的日志,如下所示。

2022-11-21 09:12:28,928 [JobCourier7] DEBUG connection.Connection.execute (Connection.java:91) - 28868796-IN: Start Parameter [values]
        IN: Parameter Name [KEY] Parameter Value [BU_ID]
        IN: Parameter Name [VALUE] Parameter Value [2]
IN: End Parameter [values]

我们的目标是通过仅提供唯一ID 28868796来自动提取日志,如果有任何其他方法可以实现这一点,我们欢迎提出建议

tzdcorbm

tzdcorbm1#

sed -ne'/re1/,/re2/p'将打印从与re1匹配的行开始直到与re2匹配的行(包括)的行。
因此,只要regexp ^IN足以标识要打印的最后一行,sed -ne'/28868796/,/^IN/p' logfile就可以执行您想要的操作。

相关问题