GREP 显示包含此但不包含该内容的行

GREP 显示包含此但不包含该内容的行

我想搜索包含“uploaded”但不包含“09”的行

有没有办法用 grep 来做到这一点?

(如果重要的话,则是 CentOS 5.6)。

答案1

我通常使用链接 grep 来执行此操作。

grep uploaded $file | grep -v 09

答案2

您可以使用 grep 的 -v 选项来反转匹配,以便

grep uploaded file | grep -v 09

将执行您想要的操作。这将找到包含 uploaded 的行,这些行将通过管道传递到 grep 命令中,以忽略其中包含 09 的行。

答案3

这不是使用grep- 但任何时候我的需求不仅仅是基本的grep,我都会转向我最喜欢的sed。当然,任何时候我必须将grep命令链接在一起......

使用此命令来执行此操作:

sed -n '/09/d; /uploaded/p' file

仅一个命令(而不是两个)。

答案4

简单尝试一下:

( grep -v 09 | grep uploaded ) < file

例子:

$ cat file
1 uploaded 09
2 09
3 uploaded
4 text
$ ( grep -v 09 | grep uploaded ) < file
3 uploaded

相关内容