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

У меня есть большой файл с 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 

One Solution collect form web for “извлекать строки из большого файла с разделителями табуляции, используя список”

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

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

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

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

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

  • Grep файл в определенном поле
  • grep заботится о расширении .dat?
  • Использование awk и grep для результатов iftop
  • Поиск в корзине s3 с журналами
  • Получите имя файла, из которого записывается запись
  • Объединяйте строки из разных файлов, если шаблон сопоставляется
  • Почему команда «find | grep 'filename' 'намного медленнее, чем «найти« имя файла »?
  • Как сделать pgrep первым аргументом командной строки?
  • Использование grep для нахождения строки из текстового файла
  • Выход трубопровода sed / grep не работает
  • Как показать время процессора для процессов через вершину без «корневых» процессов
  • Interesting Posts

    Как извлечь количество физических процессоров и потоков на ядро? (Нет текста, только номер для использования в качестве входных данных в другом месте)

    Разрешение псевдодоменного имени на частный IP-адрес

    Почему эхо-оболочка встроена в команду?

    Как OpenSSH определяет выбор алгоритма ключа хоста?

    Значение обратной косой черты

    в чем разница между if и [[in bash?

    aufs с более низкой записываемой ветвью

    Удаление повторяющихся слов между скобками inline

    Как изменить кодировку символов терминала

    perl: как конкретная альтернативная версия?

    Скрипт, чтобы просмотреть папки $ PATH и посмотреть, какие исполняемые файлы доступны в вашей системе

    Ошибка в середине обновления Debian

    warning: mysqli :: real_connect (): несогласование малой версии заголовков и клиентской библиотеки. Заголовки: 50537 Библиотека: 50623

    Нужны ли мне модули pata_atiixp или ata_generic ядра в системе SATA?

    Лучший дистрибутив для MacBook Pro

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