usando a correspondência exata grep, usando um arquivo de lista para examinar outro arquivo

0

Eu tenho dois arquivos - um com alguns IDs (arquivo de texto) e outro com IDs e descrições (arquivo de guia).

Arquivo1:

31120
211890
542312

Arquivo2:

chr10 31120 A T Descriptions
Chr11 131120 A T Descriptions
chr12 23765090 G C Descriptions
chr15 784930 A G Descriptions 

Resultado esperado:

chr10 31120 A T Descriptions

Apresentar saída:

Random selected columns some matching the file1 IDs and some not.

Estou usando grep -f file1 file2 > output.txt para corresponder aos meus IDs de file1 e extrair suas informações de file2 . No entanto, o problema é que, quando eu tenho um ID dizer-31120. Encontre-me IDs como 31120, 231120, 311200 etc.

Como estou executando um arquivo para encontrar padrões em outro, o que posso usar para torná-lo específico para minha pesquisa, de modo que apenas 31120 seja retornado. Embora seja fácil fazê-lo em uma pesquisa grep normal de um liner, não sei como fazer isso quando dois arquivos estão sendo comparados.

Eu tentei usar grep -F -f file1 file2 , mas isso não funcionou.

Agora eu usei o grep -Fwf file1 file2, que também não está funcionando.

    
por sanjana 05.08.2016 / 13:39

1 resposta

0

Como outros sugeriram, grep -Fwf file1 file2 deve funcionar.

Se você quiser usar loops, tente

for i in 'cat file1'; do  grep " "${i}" " file2; done
    
por 06.08.2016 / 02:38

Tags