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 awk
comandos 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.