Tudo o que você precisa é de um simples grep
:
grep -Fwf gene_list.txt gene_info.txt
As opções usadas são:
- -w: Procura por palavras inteiras, isso garante que o nome do gene
ERK1
não corresponda ao geneERK12
(-w
não é uma opção padrão, mas é bastante comum) - -f: Leia os padrões a serem pesquisados em um arquivo. Neste caso,
gene_list.txt
. - -F: trata os padrões como strings, não como expressões regulares. Isso garante que um nome de gene como
TOR*
(se tal coisa existisse) não corresponderia aTORRRRRR
.
NOTA: Isso pressupõe que não há espaços ao redor dos nomes dos genes na sua lista. Se houver, você precisará removê-los primeiro (aqui com GNU sed
):
sed -i 's/ //g' gene_list.txt