2011-06-23 42 views
1

我正在寻找一种使用egrep的方法,以便在文件中查找“mybigsentencemybigsentence”。egrep搜索一个单词是否多次并排出现

我是比较新的egrep命令,所以我发现的唯一办法就是

egrep的“mybigsentencemybigsentence” MYFILE

,但我怎么可以搜索,我们会做一个字符用“+”操作符设置(一次或多次)?

非常感谢。

+0

我想说这应该去Unix,但没有一个关闭选项来移动它。 – derobert

回答

2

您可以使用POSIX兼容的正则表达式与egrepgrep -E

# The test file 
$ cat test 
abcabc 
abc 

# Match exactly two occurrences of 'abc' 
$ grep -E '(abc){2}' test 
abcabc 

# Match one ore more occurrences of 'abc' 
$ grep -E '(abc)+' test 
abcabc 
abc 
+0

非常感谢! – gpol

0

我有一个除了joschi的回答是:
如果你不知道mybigsentence但你要搜索的任意最小长度的重复的字符串(我假设的10个字符的长度在我的例子),你可以使用GNU egrep做这样的:

egrep -on '([a-z]{10,})\1' myfile 

这将返回匹配的行号(-n)和匹配本身(-o),但不是整行(如果没有-o,您将得到该行)。

但这只适用于GNU版本grep