Команда egrep для поиска подстрок, длина которых кратна 3 - PullRequest
0 голосов
/ 22 октября 2019

Интересно, можете ли вы сказать мне, что это за команда, чтобы найти подстроки в текстовом файле, которые содержат эти символы A, C, G, T и имеют кратную длину 3

Моя команда такая

egrep "[ACGT]" dna.txt

но я все еще застрял с кратным 3 части. Думаю, мне придется использовать {}, но я не знаю, как.

Ответы [ 2 ]

2 голосов
/ 22 октября 2019

Чтобы перефразировать ваше требование, вы хотите одно или несколько повторений последовательности из трех совпадений.

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

Более подробно, круглые скобки предназначены для группировки, так что окончательный + (одинили более) относится ко всей группе;а внутри группы простое выражение [ACGT]{3} соответствует трем смежным символам, каждый из которых может быть любым из перечисления в классе символов.

grep по умолчанию печатает любую строку, содержащую подстрока , которая соответствует;-x требует совпадения всей строки.

Синоним egrep для grep -E устарел, и, вероятно, его следует избегать в дальнейшем.

0 голосов
/ 22 октября 2019

Обратите внимание, что обычный старый grep может сделать это, хотя и более многословно:

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

Вывод:

TAC
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...