Holy Gaming Empire Asked: 2018-10-01 06:27:15 +0800 CST2018-10-01 06:27:15 +0800 CST 2018-10-01 06:27:15 +0800 CST 使用 grep 查找单词中的多个重复字符 772 我有一个词,例如“interlinking”,其中字母“in”在单词中重复了三遍。如何使用 grep 搜索 dictionary.txt 文件以查找在一个单词中具有三个重复三个字母的其他单词,例如 'priestesses' 包含 'es' 两个字符 3 次。 linux grep 1 个回答 Voted Best Answer Cyclic3 2018-10-01T06:41:22+08:002018-10-01T06:41:22+08:00 这需要反向引用! 如果您曾经引用过您已经匹配的内容,并且想要再次匹配它,请使用反向引用。 grep '(..)(.*\1){<n - 1>}' <file> .*匹配任何字符序列 (..)匹配任意两个字符 \1匹配第一组,在这种情况下(..)靠近开头 替换<n - 1>序列的长度减一,并<file>使用您要查找的文件的名称(或省略它以使用标准输入)。 这可能不是最有效的解决方案,但它确实有效。
这需要反向引用!
如果您曾经引用过您已经匹配的内容,并且想要再次匹配它,请使用反向引用。
.*
匹配任何字符序列(..)
匹配任意两个字符\1
匹配第一组,在这种情况下(..)
靠近开头替换
<n - 1>
序列的长度减一,并<file>
使用您要查找的文件的名称(或省略它以使用标准输入)。这可能不是最有效的解决方案,但它确实有效。