egrep 命令查找长度为 3 的倍数的子字符串

egrep command to find substrings whose length is multiple of 3

不知道你能否告诉我在 txt 文件中查找包含这些字符 A、C、G、T 且长度为 3 的倍数的子字符串的命令是什么

我的命令是这样

egrep "[ACGT]" dna.txt

但我仍然坚持使用 3 部分的倍数。我想我将不得不使用 {} 但我不知道如何使用。

要重新表述您的要求,您需要一次或多次重复一系列的三个匹配项。

grep -E -x '([ACGT]{3})+' dna.txt

更详细一些,括号是为了分组,所以最后的+(一个或多个)适用于整个组;在组内,简单表达式 [ACGT]{3} 匹配三个相邻字符,其中每个字符可以是字符 class.

中枚举中的任意一个

grep 默认情况下打印出任何包含匹配的 子串 的行; -x 要求整行匹配。

grep -Eegrep 同义词已经过时,以后应该避免使用。

请注意,普通的旧 grep 可以做到这一点,尽管更冗长:

grep -o '[ACGT][ACGT][ACGT]' <<< TACA

输出:

TAC