收集pattern1和pattern2之间的所有字符串,但只打印其中与pattern3匹配的字符串

问题描述 投票:-1回答:1

我正在尝试处理一个大型测试日志文件,该文件打印测试日志的日志。测试块从"start running"(下面的pattern1)开始,以"test end"结尾(下面是pattern2);在这两个字符串之间有一个"Error Message"pattern3),显示详细的错误信息。

这是我想要做的和我做了什么:

  1. 搜索日志文件(test.log)并使用sed打印出“完整”测试日志: sed -n '/pattern1/,/pattern2/p' test.log 这将收集所有测试的完整日志
  2. 我想基于步骤1进一步前进,只打印出包含“错误消息”(pattern3)的行以及包含pattern1 pattern2的行。如何在单行sed命令中完成它?

3.我可以使用Python re模块来解决这个问题吗?

python regex sed
1个回答
© www.soinside.com 2019 - 2024. All rights reserved.