grep命令如何显示匹配项前后的行

时间:2019-08-20 17:58:11  来源:igfitidea点击:

在使用grep命令查找文本文件时,默认值只打印包含关键字的行。
我们也可以显示匹配行前后的行。

显示匹配行之后的几行

使用 -A选项将打印匹配行之后的指定行数。

示例: 显示匹配行之后的2行内容:

Hyman@theitroad /tmp $ grep -A 2 linux test.txt 
linux
Open Source
country
Hyman@theitroad /tmp $

显示匹配行之前的几行内容

使用 -B选项将打印匹配行之前的指定行数。

示例:显示匹配行之前4行内容

Hyman@theitroad /tmp $ grep -B 4 linux test.txt 
green
white
orange
gray
linux
Hyman@theitroad /tmp $

可以在grep命令中同时使用-A和-B选项。

示例: 显示匹配行之前的4行以及之后的3行内容

Hyman@theitroad /tmp $ grep -A 3 -B 4 linux test.txt 
green
white
orange
gray
linux
Open Source
country
People
Hyman@theitroad /tmp $

很多用户也喜欢将grep和cat,管道一起使用:

Hyman@theitroad /tmp $ cat test.txt |grep -A 1 -B 5 linux
blue
green
white
orange
gray
linux
Open Source
Hyman@theitroad /tmp $