extrair linhas de um arquivo grande delimitado por tabulações usando uma lista

extrair linhas de um arquivo grande delimitado por tabulações usando uma lista

Eu tenho um arquivo de aba grande com 15 colunas (FILE1) e uma lista (FILE2) de nomes que devem aparecer na tabela. O problema é que o nome pode aparecer nas colunas 4 a 10 em FILE1 e pode não corresponder a maiúsculas e minúsculas.

Eu quero um comando que procure uma ocorrência na linha e depois imprima a linha inteira. De preferência, isso não diferenciaria maiúsculas de minúsculas e não imprimiria linhas onde os nomes em FILE2 fizessem parte de uma palavra maior.

Eu tentei o seguinte:

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

o primeiro apenas copia FILE1 para fora. O segundo fornece um arquivo em branco.

Eu também tentei alguns awkcomandos que fornecerão um arquivo vazio ou, como acima, copie o FILE1. Estou tentando melhorar minhas habilidades em Linux no momento, então se possível, se você explicar seu método, ficaria muito grato.

Arquivo1

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

Arquivo2

sacX
arcB
metB
sprT
adrB_2
fadD
trpC
ansP2
group_1428
plsX
repA

Responder1

Responda nos comentários acima veja as respostas de @Philippos e @George Vasiliou

Resumidamente a resposta é grep -Fwf FILE2 FILE1 > out

Eu estava tendo um problema ao executar o comando para copiar o FILE1. Isso estava ocorrendo devido a linhas em branco no FILE2. Quando os removi, o comando funcionou perfeitamente.

Como parte do meu texto nos arquivos pode não corresponder a maiúsculas e minúsculas, incluí -i no comando acima.

Obrigado a todos que ajudaram.

informação relacionada