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

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

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

  • Как изменить размер содержимого PDF без изменения размера страницы?
  • Как «grep» для длины строки в заданном диапазоне?
  • Как получить byobu для запуска при запуске с выполненной командой, как root?
  • Однострочный шрифт для вставки новой строки текста (буквально регулярное выражение, а значит, и многих экранированных символов) в файле конфигурации перед определенной строкой?
  • строка командной строки не найдена
  • Как найти файл, имя которого содержит заданную строку, например «abcde»?
  • Я пробовал следующее:

    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 

  • Есть ли способ получить имя рабочей среды?
  • Есть ли основной учебник для grep, awk и sed?
  • изменить конкретный столбец с помощью sed или awk
  • Как я могу применить карет-замену к моей n-й-последней команде?
  • sed / awk / perl - удаление пробелов между двумя строками / словами + solaris 10
  • Строка печати содержит максимальное и минимальное значение
  • One Solution collect form web for “извлекать строки из большого файла с разделителями табуляции, используя список”

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

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

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

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

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

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