grep匹配多个关键字

2019-11-13
#Unix #Shell

一般情况下,grep 命令只能匹配一个关键字,怎么实现匹配多个关键字呢?

下面看几种情况:

1、 grep ‘字符串’

这是最普通的使用方式:

匹配文件中包含 MANPATH 的那一行:

cat manpath.config | grep 'MANPATH'

2、 grep -v ‘字符串’

与上例子相反,反向匹配

匹配文件中不包含 MANPATH 的那一行:

cat manpath.config| grep -v 'MANPATH'

3、 grep -E 同时匹配多个关键字–或关系

grep -E "word1|word2|word3" file.txt

匹配 file.txt 中包含 word1 或 word2 或 word3 的行。

满足其中任意条件(word1、word2和word3之一)就会匹配。

4、 同时匹配多个关键字–与关系

使用管道符连接多个 grep ,间接实现多个关键字的与关系匹配:

grep word1 file.txt | grep word2 |grep word3

必须同时满足三个条件(word1、word2和word3)才匹配。

参考