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 -E
的 egrep
同义词已经过时,以后应该避免使用。
请注意,普通的旧 grep
可以做到这一点,尽管更冗长:
grep -o '[ACGT][ACGT][ACGT]' <<< TACA
输出:
TAC
不知道你能否告诉我在 txt 文件中查找包含这些字符 A、C、G、T 且长度为 3 的倍数的子字符串的命令是什么
我的命令是这样
egrep "[ACGT]" dna.txt
但我仍然坚持使用 3 部分的倍数。我想我将不得不使用 {}
但我不知道如何使用。
要重新表述您的要求,您需要一次或多次重复一系列的三个匹配项。
grep -E -x '([ACGT]{3})+' dna.txt
更详细一些,括号是为了分组,所以最后的+
(一个或多个)适用于整个组;在组内,简单表达式 [ACGT]{3}
匹配三个相邻字符,其中每个字符可以是字符 class.
grep
默认情况下打印出任何包含匹配的 子串 的行; -x
要求整行匹配。
grep -E
的 egrep
同义词已经过时,以后应该避免使用。
请注意,普通的旧 grep
可以做到这一点,尽管更冗长:
grep -o '[ACGT][ACGT][ACGT]' <<< TACA
输出:
TAC