我一直在寻找一种方法来使用egrep来在文件中找到“mybigsentencemybigsentence”。
我对egrep比较新,所以我找到的唯一方法就是
egrep“mybigsentencemybigsentence”myfile
但是我如何使用“+”运算符(一次或多次)搜索字符集?
Thanx很多。
答案 0 :(得分:2)
您可以将与POSIX兼容的正则表达式与egrep
或grep -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
答案 1 :(得分:0)
我对joschi的答案有所补充:
如果您不知道 mybigsentence 但是您想要搜索最小长度的任意重复字符串(我假设在我的示例中长度为10个字符),您可以使用GNU egrep
来完成像这样:
egrep -on '([a-z]{10,})\1' myfile
这将返回匹配的行号(-n
)和匹配本身(-o
),但不返回整行(没有-o
的情况下)。
但这只适用于grep
的GNU版本。