У меня есть два таких файла:
head 1000G.EUR.7.bim
7 rs7456436 0.0085998121 44935 T C
7 rs7384563 0.0099808474 45653 C T
7 rs6583338 0.011117913 46239 G A
7 rs62429403 0.03835409 53998 C A
7 rs4281072 0.039011123 54183 T C
7 rs6965835 0.051294015 57660 C T
7 rs12670102 0.060656098 60392 T C
7 rs62429414 0.061278166 60728 A G
head c7.txt
SNP A1 A2 Z
rs62429403 C A -0.317767
rs62429404 C G -0.0968181
rs73260517 C G 0.362803
rs56339393 C T 0.361902
rs6950543 C G -0.325175
rs62429407 G A 0.357001
rs62429414 A G 1.11945
Я хочу найти в файле c7.txt строки, соответствующие rs ### в 1000G.EUR.7.bim. Например, решение для этого образца:
SNP A1 A2 Z
rs62429403 C A -0.317767
rs62429414 A G 1.11945
Я пытался сделать это:
awk 'FNR==NR{a[$2]=$0; if(NR==1) print $0} ($1 in a) {print a[$1]}' 1000G.EUR.7.bim c7.txt > output.txt
Но я получаю строки из 1000G.EUR.7.bim, соответствующие ct. txt вместо строк из c7.txt, соответствующих 1000G.EUR.7.bim на основе столбца rs ###.