我有一个单词,例如“interlinking”,其中字母“in”在该单词中重复了三次。如何使用 grep 搜索dictionary.txt 文件以查找在一个单词中两个字母重复三次的其他单词,例如“priestesses”包含“es”两个字符三次。
答案1
这需要反向引用!
如果您引用已经匹配的内容并想再次匹配它,请使用反向引用。
grep '\(..\)\(.*\1\)\{<n - 1>\}' <file>
.*
匹配任何字符序列。\(..\)
匹配并捕获任意两个字符。\1
匹配第一个捕获组,在本例中是\(..\)
靠近开头的捕获组。
<n - 1>
替换序列的长度减一并替换<file>
为您要查找的文件的名称(或省略它以使用标准输入)。
这可能不是最有效的解决方案,但它确实有效。