.png)
У меня есть два текстовых файла:
файл 1:
#CHROM POS ID REF ALT
1 61442 rs2531261 A G
1 924629 rs28622096 A G,T
1 974662 rs2465135 G T
1 995481 rs9442393 T G
файл 2
#CHROM POS ID REF ALT FORMAT
1 61442 rs2531261 A G GT:GL:GQ:DP:CGA_RDP:EHQ:HQ:CGA_CEGL:PS:CGA_CEHQ:AD
1 924629 rs28622096 A G,T GT:GL:GQ:DP:CGA_RDP:EHQ:HQ:CGA_CEGL:PS:CGA_CEHQ:AD
1 974662 rs2465135 G T GT:GL:GQ:DP:CGA_RDP:EHQ:HQ:CGA_CEGL:PS:CGA_CEHQ:AD
1 987909 rs34235844 G GTG GT:GL:GQ:DP:CGA_RDP:EHQ:HQ:CGA_CEGL:PS:CGA_CEHQ:AD
1 995481 rs9442393 T G GT:GL:GQ:DP:CGA_RDP:EHQ:HQ:CGA_CEGL:PS:CGA_CEHQ:AD
Я хотел бы объединить файлы на основе столбца 3 (ID). Мой выходной файл должен выглядеть так:
выход:
#CHROM POS ID REF ALT FORMAT
1 61442 rs2531261 A G GT:GL:GQ:DP:CGA_RDP:EHQ:HQ:CGA_CEGL:PS:CGA_CEHQ:AD
1 924629 rs28622096 A G,T GT:GL:GQ:DP:CGA_RDP:EHQ:HQ:CGA_CEGL:PS:CGA_CEHQ:AD
1 974662 rs2465135 G T GT:GL:GQ:DP:CGA_RDP:EHQ:HQ:CGA_CEGL:PS:CGA_CEHQ:AD
1 995481 rs9442393 T G GT:GL:GQ:DP:CGA_RDP:EHQ:HQ:CGA_CEGL:PS:CGA_CEHQ:AD
Я хочу использовать awk
.
решение1
Похоже, ты хочешьфильтрfile2 на основе идентификаторов в file 1 (а неслияниефайлы):
$ awk 'NR==FNR {a[$3] = 1; next} $3 in a' file1 file2
#CHROM POS ID REF ALT FORMAT
1 61442 rs2531261 A G GT:GL:GQ:DP:CGA_RDP:EHQ:HQ:CGA_CEGL:PS:CGA_CEHQ:AD
1 924629 rs28622096 A G,T GT:GL:GQ:DP:CGA_RDP:EHQ:HQ:CGA_CEGL:PS:CGA_CEHQ:AD
1 974662 rs2465135 G T GT:GL:GQ:DP:CGA_RDP:EHQ:HQ:CGA_CEGL:PS:CGA_CEHQ:AD
1 995481 rs9442393 T G GT:GL:GQ:DP:CGA_RDP:EHQ:HQ:CGA_CEGL:PS:CGA_CEHQ:AD