Извлечение строк из ключей из файла

У меня большой файл с примерно 15 миллионами строк. Нечетные строки содержат ключи (но не только ключи), а четные – данные. То есть, файл выглядит примерно так:

WRTZ Tyrosine 1287998798 ASDF Proline 9408654860 TYSR Serine 9809804090 ASDF Cytosine 4950409808 

Ключами здесь являются ASDF , TYSR и WRTZ .

  • Кто делает линию и как деактивировать?
  • Передача списка игнорируемых каталогов команде `tree`
  • Объединение двух таблиц, включая многократное появление идентификаторов столбцов
  • лучший способ разделить огромные файлы на основе поля, когда awk слишком медленный
  • Как я могу использовать вывод команды без использования мыши?
  • Как сгруппировать строки в файл двумя?
  • У меня есть список около 100000 ключей. Я хочу извлечь данные (обе строки), соответствующие этим клавишам.

    Один из моих подходов заключался в том, чтобы grep строки, содержащие ключи, чтобы получить номера строк, а затем извлечь строку и следующую строку, используя head и tail в цикле. Однако для этого, похоже, требуется много времени.

    Есть ли более эффективный способ сделать это?

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