从X行或找到Z之后的前100行的Unix打开文件

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

我有一个2GB的文本文件,我想在找到某个字符串后读取每行100行例如:

string: 'epicvar (string) ="5"'

string在行5000上找到,所以我想从5000到5100读取文件然后在行15000上也找到了string,所以我想从15000到15100读取文件等等。

使用的系统是HP-UX B.11.31 U

unix grep cat hp-ux
1个回答
1
投票

这可能对您有用(未测试),如果您理解ll2p表示last line to print,它应该很容易阅读...

awk '/pattern/ {ll2p = NR+100}
        NR < ll2p {print}
        NR==ll2p {ll2p=0} ' file
© www.soinside.com 2019 - 2024. All rights reserved.