如何搜索字符串的X行上方/下方的行?

时间:2015-09-17 16:50:59

标签: string bash search grep

好吧,我有一个像这样的masive文件:

grep

我想要做的只是从字符串“H1”(即本例中为O49)中搜索2行,并从此行打印到最后。

我尝试使用req.ip // → "127.0.0.1" ,但它无法正常工作。 非常感谢提前!!

2 个答案:

答案 0 :(得分:2)

使用GNU grep:

grep -Poz '(.*\n){2}.*H1.*(\n.*)*' file

输出:

           O49     
                 2.11414472          0.47922554         23.80825532
            H1      
                 1.09354199          0.56015908         23.18883965
            H2      
                 1.84841487          0.60605486         24.87784867
            O50     
                 6.45693524          0.12577435         26.20766069
            H3      
                 5.43633251          0.20670789         25.58824502
            H4      
                 6.19120539          0.25260367         27.27725405
            O51     
                 3.85207272          4.89778259         29.52091127
            H5      
                 2.83146999          4.97871613         28.90149560
            H6      
                 3.58634288          5.02461191         30.59050463
            xx 
                 xxxxxxxxx           xxxxxxxxx          xxxxxxxxx

答案 1 :(得分:1)

假设文件小于1000行:

grep -B2 -A1000 'H1' file