grep查看上下几行的使用方法详解

发布时间:2023-05-23

一、grep查看指定行

在使用grep命令时,通常情况下我们会通过指定匹配关键字来查找指定内容,但如果我们想要查看符合条件的行的前后几行内容,可以使用-g参数来指定查看范围。

grep -A n "keyword" filename #显示匹配到的之后n行内容
grep -B n "keyword" filename #显示匹配到的之前n行内容
grep -C n "keyword" filename #显示匹配到的前后n行内容

其中n为数字,表示匹配到的行前后n行,可以根据具体需求自行修改。

二、grep多条件匹配

有时候我们需要对一个文件进行多条件匹配,例如同时查找某两个关键字,这时候可以使用-E参数。

grep -E "keyword1|keyword2" filename #同时查找两个关键字
grep -E -A n "keyword1|keyword2" filename #显示匹配到的之后n行内容
grep -E -B n "keyword1|keyword2" filename #显示匹配到的之前n行内容
grep -E -C n "keyword1|keyword2" filename #显示匹配到的前后n行内容

三、grep递归查找

如果我们想要在一个目录下查找所有包含特定关键字的文件内容,可以使用-r参数。同时,我们可以使用--include参数来限定查找的文件类型。

grep -r "keyword" path #在path路径下递归查找
grep -r --include "*.txt" "keyword" path #在path路径下查找所有.txt文件中包含的keyword内容

四、grep选择查看列

有时候我们查看文件内容时不需要全部内容,只需要查看某些列的内容即可。可以使用awk命令配合grep实现只查看某一列。

grep "keyword" filename | awk '{print $2}' #查看匹配到的内容的第二列

五、grep忽略大小写

在进行匹配时,有时候我们不需要区分大小写,可以使用-i参数忽略大小写。

grep -i "keyword" filename #不区分大小写匹配