извлекать строки из большого файла с разделителями табуляции, используя список

У меня есть большой файл с 15 столбцами (FILE1) и список (FILE2) имен, которые должны появиться в таблице. Проблема заключается в том, что имя может отображаться в столбцах 4-10 в FILE1, и это может быть не совпадение с случаем.

Мне нужна команда, которая ищет строку для удара, а затем печатает всю строку. Предпочтительно, это не будет чувствительным к регистру и не будет печатать строки, где имена в FILE2 являются частью большего слова.

Я пробовал следующее:

grep -Fwf FILE2 FILE1 > out xargs -I {} grep "^{}" FILE1 < FILE2 > out 

первый просто копирует FILE1 в выход. Второй дает пустой файл.

Я также пробовал несколько awk команд, которые либо выдадут пустой файл, либо, как указано выше, для FILE1. Я пытаюсь улучшить свои навыки Linux на данный момент, поэтому, если это возможно, если вы объясните свой метод, я буду очень благодарен.

File1

 tax_id GeneID Symbol LocusTag Synonyms dbXrefs chromosome map_location description type_of_gene Symbol_from_nomenclature_authority Full_name_from_nomenclature_authority Nomenclature_status Other_designations Modification_date 7 5692769 NEWENTRY - - - - - Record to support submission of GeneRIFs for a gene not in Gene (Azotirhizobium caulinodans. Use when strain, subtype, isolate, etc. is unspecified, or when different from all specified ones in Gene.). other - - - - 20160818 9 1246500 repA1 pLeuDn_01 - - - - putative replication-associated protein protein-coding - - - - 20160813 9 1246501 repA2 pLeuDn_03 - - - - putative replication-associated protein protein-coding - - - - 20160716 9 1246502 leuA pLeuDn_04 - - - - 2-isopropylmalate synthase protein-coding - - - - 20160903 9 1246503 leuB pLeuDn_05 - - - - 3-isopropylmalate dehydrogenase protein-coding - - - - 20150520 9 1246504 leuC pLeuDn_06 - - - - isopropylmalate isomerase large subunit protein-coding - - - - 20160806 9 1246505 leuD pLeuDn_07 - - - - isopropylmalate isomerase small subunit protein-coding - - - - 20160730 9 1246509 ibp pBPS1_01 - - - - Ibp protein protein-coding - - - - 20150801 9 1246510 repA1 pBPS1_02 - - - - repA1 protein protein-coding - - - - 20160813 

File2

 sacX arcB metB sprT adrB_2 fadD trpC ansP2 group_1428 plsX repA 

  • Вывод результата поиска
  • Скажите выражение регулярного выражения, чтобы пропустить начало строки перед сопоставлением
  • Как фильтровать вывод сценария в bash, используя запрос типа «(я ИЛИ вы) ИЛИ (john AND! Doe)»?
  • grep не совпадает с выходом nc
  • Grep только в файлах, находящихся в определенных папках
  • сценарий оболочки для чтения из нескольких файлов параллельно
  • Извлечь число длины n из поля и строки возврата
  • Unix grep путаница
  • One Solution collect form web for “извлекать строки из большого файла с разделителями табуляции, используя список”

    Ответ в комментариях выше см. @Philippos и @George Vasiliou отвечает

    Вкратце ответ grep -Fwf FILE2 FILE1 > out

    У меня возникла проблема, после чего я выполнил команду, чтобы она скопировала FILE1. Это произошло из-за отсутствия пустых строк в FILE2. Когда я удалил их, команда отлично работала.

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

    Спасибо всем, кто помог.

    Interesting Posts

    найти, какая система передает через конкретный порт

    Эффективно удалите первую пару строк из текстового файла

    Журнал показывает очень старые ботинки, которые не перерабатываются

    Комбинированный su и экран при запуске

    Чтобы отобразить 7×10 фотографий для просмотра в видео

    понимание выхода эха, за которым следуют некоторые восклицательные знаки

    Как я могу сообщить mailx о новой почте?

    Могу ли я получить противоположность `diff -q` – сопоставление идентичных файлов без печати их содержимого

    почему убить работать по-разному на номера работ, чем PID?

    Как я могу определить, является ли мой жесткий диск PATA или SATA?

    Логротат или скриптинг для управления файлом журнала

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

    Как передать ssh на удаленный сервер с помощью закрытого ключа?

    Сценарий, позволяющий пользователю отменить выход из оболочки

    Как вы отсоедините второй экран от другого экрана?

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