- 已关闭。**此问题为not about programming or software development。目前不接受答案。
此问题似乎与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来自动提取日志,如果有任何其他方法可以实现这一点,我们欢迎提出建议
1条答案
按热度按时间tzdcorbm1#
sed -ne'/re1/,/re2/p'
将打印从与re1匹配的行开始直到与re2匹配的行(包括)的行。因此,只要regexp
^IN
足以标识要打印的最后一行,sed -ne'/28868796/,/^IN/p' logfile
就可以执行您想要的操作。