在LARGE日志文件中有效地grep两个模式之间的字符串

时间:2018-03-04 09:47:01

标签: python awk sed grep

我试图通过两种不同模式之间的grep字符串来解析大型日志文件

示例:

line1
line2
...
lineN
pattern1
line4
line6
pattern2
....
other lines
pattern1
line8
line9
pattern2
...

我需要捕捉的线是pattern1 / pattern2之间的部分(所以,line4line6line8line9)。

我正在使用

sed -n '/pattern1/,/pattern2/p

搜索文件,但需要很长时间才能完成(是的,我的日志文件很大......)

我想知道是否有更有效的方法来加快搜索速度? 理想情况下是单行命令(awk / grep等...)或Python。

1 个答案:

答案 0 :(得分:0)

如果您使用Python,可以试试这个:

m = re.search(r'(?<=pattern1)(.|\s)*?(?=pattern2)', log_file, re.MULTILINE)