除了另一个字符串匹配时,如何使用'grep'匹配字符串?

时间:2010-12-10 09:13:14

标签: bash grep

在以下文件中,我只是寻找一个grep命令:

Line 1 : string 1  (errno:1)
Line 2 : string 1  (errno:3)
Line 3 : string 1  (errno:1)
Line 4 : string 1  (errno:1)

它应匹配“string 1”并且不等于“errno:1”。我怎么能用grep做到这一点?

2 个答案:

答案 0 :(得分:4)

我确信有一种方法可以一起完成,但最简单的方法就是将多个grep命令链接在一起

cat <myfile> | grep "string 1" | grep -v "errno:1"

-v选项会反转搜索,这样就会显示“string 1”而没有“errno:1”的行

答案 1 :(得分:3)

查找未跟随“errno:1”的任何“字符串1”:

grep -P 'string 1(?!.*errno:1)' inputfile