linux 使用grep 匹配多个条件的问题

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了linux 使用grep 匹配多个条件的问题相关的知识,希望对你有一定的参考价值。

例如:有个文本test.txt里有如下内容
xyz
abc
def
....... abc ........ def ...
我现在想输出既有abc又有def的行,或者有xyz的行,该怎么写

两个条件都要满足:grep tiaojian1 test.txt |grep tiaojian2
两个条件满足其中一个即可:egrep "tiaojian1|tiaojian2" test.txt

egrep 可以看着是grep的扩展,参数-e支持正则匹配
egrep -e "tiaojian1|tiaojian2" test.txt
参考技术A 用正则
就像下面这个
grep \[xyz\|abc\|abc\*def\] test.txt追问

你这样写,会把4行全部输出来,和要求不太一样,我是想把一行中既有abc还有def的行输出,或者一行中有xyc的输出

追答

就像这样 grep \[xyz\|abc\*def\] test.txt\

追问

一样的,我试了,会全部输出来,你自己可以试下。

追答

这个可以了
egrep xyz\|abc\|abc\*def test.txt

以上是关于linux 使用grep 匹配多个条件的问题的主要内容,如果未能解决你的问题,请参考以下文章

Linux中使用grep命令,查询多个字符串

4-4 linux的grep搜索命令

使用grep命令怎么过滤多个条件

Linux字符串搜索命令

关于grep后跟多个正则查询条件的问题

grep 命令使用