我需要像这样的东西:
grep ^"unwanted_word"XXXXXXXX
发布于 2012-11-21 16:07:57
我把这个问题理解为“如何匹配一个单词但排除另一个单词”,其中一个解决方案是两个grep :第一个grep找到想要的"word1",第二个grep排除"word2":
grep "word1" | grep -v "word2"
在我的例子中:我需要区分"plot“和"#plot”,而grep的"word“选项做不到这一点("#”不是字母数字)。
希望这能有所帮助。
发布于 2010-12-27 19:14:17
如果你的grep
支持带有-P
选项的Perl正则表达式,你可以这样做(如果是bash;如果是tcsh,你需要转义!
):
grep -P '(?!.*unwanted_word)keyword' file
演示:
$ cat file
foo1
foo2
foo3
foo4
bar
baz
现在让我们列出除foo3
之外的所有foo
$ grep -P '(?!.*foo3)foo' file
foo1
foo2
foo4
$
发布于 2010-12-27 19:16:43
使用grep -v进行反向匹配:
grep -v "unwanted word" file pattern
https://stackoverflow.com/questions/4538253
复制相似问题