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

У меня есть два файла, из которых мне нужно извлечь вещи. Первый файл содержит штрих-код и заканчивается номером OTU. Мне нужно извлечь строки с конкретными номерами OTU.

Как только у меня есть файл выделенных строк, мне нужно извлечь строки из моего следующего файла, которые соответствуют штрих-кодам из первого файла.

  • Изменение размеров разделов через ssh
  • Каковы некоторые из этих каталогов в ядре Linux src?
  • Рекурсивно найти все файлы с именем «file.txt» и выполнить команду sed
  • От имени устройства df до имени физического диска (поставщика / типа)
  • Использование набора задач для установки близости процессора
  • Почему мы не должны редактировать grub.cfg для grub2
  • Например, допустим, я хочу извлечь все строки, содержащие OTU_1 из этого файла введите описание изображения здесь

    Существуют уникальные штрих-коды, связанные с каждой строкой, содержащей OTU 1, в этом примере показано 5:

    907.2::M02542:207:000000000-AWDAH:1:1115:18838:201661:N:0:GTGAAA 905.2::M02542:207:000000000-AWDAH:1:1101:24324:103291:N:0:GTGAAA 1205.2::M02542:207:000000000-AWDAH:1:2115:22195:238121:N:0:GTGAAA 906.2::M02542:207:000000000-AWDAH:1:1115:24086:126561:N:0:GTGAAA 910.2::M02542:207:000000000-AWDAH:1:1112:26236:215801:N:0:GTGAAA 

    Мне нужно будет использовать эти штрих-коды для извлечения последовательностей из следующего файла:

    введите описание изображения здесь

    Как вы можете видеть, штрих-коды начинаются после>, и мне понадобится вся информация между> (то есть моими последовательностями).

    Я пробовал очевидную вещь, которая должна была бы использовать тип таблицы электронной таблицы и сортировать по OTU #, но мои файлы слишком большие (~ несколько миллиардов строк).

  • Иконки иконок для значков Linux
  • Как извлечь данные из файла и построить имя файла из одного из значений
  • В чем разница между не превентивным, превентивным и выборочным превентивным ядром?
  • Что такое эквивалент GNU / Linux BSD «route get ...»?
  • Недопустимая обратная ссылка с использованием grep
  • Убрано USB-устройство хранения данных все еще установлено
  • One Solution collect form web for “Извлечь строки, которые имеют конкретное окончание, и использовать их для извлечения из другого файла”

    С GNU grep что-то вроде этого должно работать:

     grep -o '\S\+\s\+OTU_1$' Fasta.readmap.uc | \ grep -o '^\S\+' | \ grep -f - -A 1 092016MABits-pr.fasta | \ grep -v '^>' 

    -o делает grep выводит только соответствующий текст. -f - сообщает grep чтобы искать шаблоны, отправленные из STDIN . -A 1 сообщает grep чтобы показать строку после матча. Последний grep только строкам, которые не относятся к « > ».

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