在以下文件中,我只是寻找一个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做到这一点?
答案 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