Регулярные выражения (grep), соответствующие повторяющемуся двухбуквенному шаблону

Я хочу использовать регулярное выражение, которое будет соответствовать шаблону «ATATAT» (любой длины) и / или «GCCGCCGCC» (снова любой длины) в текстовом файле. У меня есть только четыре варианта, и один из них должен работать, но я пробовал их все в текстовом файле, содержащем эти шаблоны несколько раз. Но любой из приведенных ниже кодов не возвращает ничего или заканчивается ошибкой: «grep: Недопустимая обратная ссылка». Может быть, я не должен использовать grep?

  • [ATGC] {2,}
  • ([ATGC] {2,}) \ 1+
  • ([ATGC] {2,}) {2}
  • ([ATGC]) \ 1+

В основном, код, который я использую, следующий:

grep 'one_of_the_patterns_above' DNA_sequence_file.fasta 

И файл выглядит примерно так:

 >sampled sequence 1 consisting of 500 bases. GCAAAGTAGCCGAGGTCAGGGCATGTCAATGATAGCGCGAAAAGGTCACCACGAGAAGCG GCACTCGGCCACGGATTGGTGGCACTTCATATGGAAACGCGACGACCGATAAAAACACAA CGAAACCCAATTGGAATGAGATTTTCCTGAAACCGCAGCGAACCCAACCAAGCGGGAATA AAGTCGGGAAGTCTAAACGAGATTAGCAGAATCCACCTCAGAATGACTGATGCCATGTAG GCGCAGCAATAGATTACCGAAAGAGAAACACAGCAACGGATACATACAACTCAAGGGAAG AGCACCTTTCGCTGAGAGGAGACGCCTTACAAACTATCCAGGGGTTTGAACAAGACAGGT CGAAAAGCGGCCCTCTTCACAACCAGGTCAAGCGCGACTCGAGACAAGTATTCCCAAAGT CCAAAAAAGAATCCTACAGAATCCCATCAAAGCATTTGTAGAAAGACATGGCCTACCAGC TGCGCAAAGGACACATTACC 

  • Grep, но пусть первая строка через
  • Трубопровод sed для grep не работает должным образом
  • grep только для строк процесса, которые вызвали ошибку
  • Как показывать строки после каждого совпадения grep до другого конкретного совпадения?
  • Как найти строки grep, которые заканчиваются в определенной строке?
  • Как извлечь количество физических процессоров и потоков на ядро? (Нет текста, только номер для использования в качестве входных данных в другом месте)
  • grep: Не признанный флаг в AIX
  • Как я могу использовать sed, чтобы отрезать строку от строки?
  • 2 Solutions collect form web for “Регулярные выражения (grep), соответствующие повторяющемуся двухбуквенному шаблону”

    Похоже, вы хотите, чтобы совпадение «AT» повторялось по крайней мере дважды, или, в другом примере, «GCC» повторялось по крайней мере дважды. Это будут, соответственно:

     (AT){2,} (GCC){2,} 

    Обратите внимание, что вам придется использовать grep -E для соответствия этих шаблонов. (Существует не один, последовательный синтаксис регулярных выражений, которые одинаково работают на разных инструментах, поэтому вам, возможно, придется адаптироваться в зависимости от того, что вы в конечном итоге используете.)

    Все шаблоны плохие, они соответствуют любому ATGC в любом порядке. Правильное регулярное выражение:

     ^((AT)*|(GCC)*)$ 

    Это то, что вы написали.

    Interesting Posts

    Список всех пользователей и последний раз, когда они читают почту, переходят на несколько выходных данных

    Как сделать маршрутизатор OpenWrt рекламой себя как шлюз по умолчанию IPv6?

    позволяя ipsec, ah и esp на CentOS с включенным firewalld

    Получите имя файла, из которого записывается запись

    Баш-переменные – любые трюки с экстрактами, основанные на заказе?

    Не удается подключиться к статическому IP-адресу Virtualbox VM, который находится в другой подсети от IP-адреса хоста, но статически маршрутизирован на хост HW addr

    Является ';;' оператор цепочки в Unix? Как это работает?

    Как я могу передать в формате webm с помощью gstreamer?

    Как сделать вывод для grep неудачным?

    Как я могу последовательно установить переменную среды для одной программы?

    Как узнать, какую версию RHEL я использую?

    кто может получить подсчет «базового subDir», не имея subDirs?

    Вопрос: что означает «s / quiet init =. * $ //»?

    Сохранение данных между именами в терминале с новыми файлами?

    X Windows Заканчивается при вводе {+ <ENTER>

    Linux и Unix - лучшая ОС в мире.