使用 sed 提取包含 PAT1 但不包含 PAT2 的行

log*_*hee 3 sed text-processing

我想从文件中提取包含 PAT1 但不包含 PAT2 的行。例如,使用 PAT1='dog'、PAT2='cat' 和以下输入:

1 cat chicken
2 bird dog apple
3 dog orange cat
4 cat juice coffee
5 cow milk dog
Run Code Online (Sandbox Code Playgroud)

我想要以下输出:

2 bird dog apple
5 cow milk dog
Run Code Online (Sandbox Code Playgroud)

Sté*_*las 7

就像是:

sed '/dog/!d;/cat/d'
Run Code Online (Sandbox Code Playgroud)

也可以看看

grep dog | grep -v cat
Run Code Online (Sandbox Code Playgroud)