使用grep查找单词中的多个重复字符

使用grep查找单词中的多个重复字符

我有一个单词,例如“interlinking”,其中字母“in”在该单词中重复了三次。如何使用 grep 搜索dictionary.txt 文件以查找在一个单词中两个字母重复三次的其他单词,例如“priestesses”包含“es”两个字符三次。

答案1

这需要反向引用!

如果您引用已经匹配的内容并想再次匹配它,请使用反向引用。

grep '\(..\)\(.*\1\)\{<n - 1>\}' <file>
  • .*匹配任何字符序列。
  • \(..\)匹配并捕获任意两个字符。
  • \1匹配第一个捕获组,在本例中是\(..\)靠近开头的捕获组。

<n - 1>替换序列的长度减一并替换<file>为您要查找的文件的名称(或省略它以使用标准输入)。

这可能不是最有效的解决方案,但它确实有效。

相关内容