例如,我想匹配文本文件中的字符串“abcabc”,其中两个(并且只有两个)“abc”连接在一起,并且“abcabc”的前面和末尾没有字符?
如果我使用 grep -n '(abc){2}' TEST,它不起作用
例如,我想匹配文本文件中的字符串“abcabc”,其中两个(并且只有两个)“abc”连接在一起,并且“abcabc”的前面和末尾没有字符?
如果我使用 grep -n '(abc){2}' TEST,它不起作用
逃离父母:
grep -n '\(abc\)\{2\}' TEST
如果您想abcabc
在一行上单独匹配字符串,正如您的描述所暗示的那样,请使用:
grep -n '^\(abc\)\{2\}$' TEST
这是最短的选择:
^abcabc$
尝试:
egrep '\b(abc){2}\b' input
谢谢大家,从你们的回答中,我想我已经得到了我需要的东西。
正如我在我的问题中所说,我想匹配“ abcabc
”,其中 2 并且仅重复“ abc
”,前后没有其他字符,但“ abcabc
”不是该行中唯一的字符串。
所以答案是:
grep -n "\b\\(abc\\)\\{2\\}\b" filename
检查这是否合适。
$ grep '\<abcabc\>'
test
abcabc
abcabc
test abcabc
test abcabc
testabcabc