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

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

  • «Grep-ing» от A до B в выводе hexdump
  • Grep несколько шаблонов и напечатать различное количество строк ниже каждого из шаблонов?
  • Почему здесь не работает grep с использованием трубы?
  • Греп с пробелами внезапно не работает
  • Фильтрация вывода журнала на отдельных линиях
  • Как распечатать только первое совпадение из каждой строки?
  • tr жалоб на «Неверная последовательность байтов»
  • Получите имя файла, из которого записывается запись
  • One Solution collect form web for “извлекать строки из большого файла с разделителями табуляции, используя список”

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

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

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

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

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

    Interesting Posts

    rsync –update и symlink не скопировали самую последнюю версию

    Не удалось связать сокет: разрешение отклонено при попытке запуска NDOUtils с использованием сокета UNIX

    Каким образом можно извлечь сегмент из текстового файла?

    Является ли busybox cpio THAT отличным от GNU cpio?

    Какие альтернативные серверы поддерживают sudo и как они настроены?

    GRUB обнаруживает только Windows

    Использование nvidia-настроек над ssh

    Дайте доступ только к одному каталогу, который не является домашним пользователем.

    Установите переменные переменных переменных в bash (или другие)

    Каковы потенциальные последствия перехода орехов с разреженными файловыми vdev для миграции LVM на ZFS?

    Изменение владельца файла на основе предыдущего владельца

    Можно ли добавить ci "(или ci ', ci {и т. Д.) В режим vi в bash?

    Команда sudo не является источником /root/.bashrc

    Почему при запуске sudo cp отображаются два процесса

    Разделение Awk и условная печать

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