联盟与grep的区别

时间:2013-12-16 05:09:20

标签: regex grep

我正在尝试使用grep来匹配列表中的特定单词。 假设列表包含

aa
der
bb
abc ref

如果我的理解是正确的,(我试着使用grep -E)

cat file | grep '[a-z&&[^m-r]]' 

应该返回

 aa and bb

(匹配a到z的所有字母,m到r除外)。但我一无所获。这里缺少什么?

2 个答案:

答案 0 :(得分:1)

你可以使用负向前瞻。话说:

grep -P '^[a-z](?!.*[m-z])' filename

将返回

aa
bb

输入。

答案 1 :(得分:1)

您可以使用-v开关反转grep匹配:

cat myfile.txt | grep -v '[m-r]'

或没有管道:

grep -v '[m-r]' myfile.txt