29

我想在我的文本文件中找到包含字符串"abc"但不包含字符串的所有行"def"。我可以使用grep命令来完成这个任务吗?

4

2 回答 2

52

这些中的任何一个都可以:

grep -v "def" input_file | grep "abc"

或者

grep "abc" input_file | grep -v "def"

如果您只想查看标准输出上的输出,以下内容也将保留颜色:

grep --color=always "abc" input_file | grep -v "def"

-v选项(代表“反转匹配”)告诉grep忽略具有指定模式的行 - 在这种情况下def

于 2012-11-06T22:01:28.317 回答
4

这可能会做到。

fgrep "abc" file | grep -v "def"
于 2012-11-06T21:55:24.310 回答