我正在尝试使用awk从file2中提取符合$ 132&的值的行。 $ 133列,1美元,文件1 $ 2,用文件2中的那些行创建一个输出(与文件1相比有很多列)。
档案1
1 6727802 TTC T 0/1 0/0 0/0
2 12887332 C A 0/1 0/0 0/0
文件2(它有很多列,也有很多行,我只向你展示其中一行)
1 6727803 6727804 TC - exonic DNAJC11 frameshift deletion DNAJC11:NM_018198:exon4:c.343_344del:p.E115fs exonic ENSG00000007923 frameshift deletion ENSG00000007923:ENST00000377577:exon4:c.343_344del:p.E115fs,ENSG00000007923:ENST00000426784:exon4:c.343_344del:p.E115fs,ENSG00000007923:ENST00000294401:exon4:c.343_344del:p.E115fs,ENSG00000007923:ENST00000542246:exon4:c.229_230del:p.E77fs,ENSG00000007923:ENST00000451196:exon3:c.271_272del:p.E91fs,ENSG00000007923:ENST00000377573:exon3:c.73_74del:p.E25fs,ENSG00000007923:ENST00000349363:exon3:c.229_230del:p.E77fs Score=562;lod=257 614827 rs374290353 224 0.0020 0.0001 0.0001 0 0 0 0.0006 6.805e-05 0 0.0012 0.0010 0.0012 0.0012 0.0010 0.0003 0.0014 0.0019 0.0020 MU9804 GBM-US|1|268|0.00373,PRAD-US|1|256|0.00391,LGG-US|1|283|0.00353,CESC-US|1|194|0.00515,BRCA-US|1|955|0.00105,SKCM-US|1|335|0.00299,COAD-US|1|216|0.00463 ID=COSM426618,COSM426619;OCCURENCE=2(NS),1(large_intestine),1(breast) het 280660 129 1 6727802 rs374290353 TTC T 280660 PASS 1 0.164634 2 -0.246 0 1498874 0 -0.0829 59.33 0.452 1.04 -0.079 0.72 3.49 FS 0/1 113 12 129 68 68,0,4158
我成功使用以下awk代码从文件2中提取与$ 1,$ 2列中的值匹配的行与$ 1中的行,文件1中的$ 2
awk 'NR == FNR { a[$1, $2]++; next } a[$1, $2]' 'file1' 'file2' > file3
但是现在我需要从file2中提取所有匹配$ 132(file2)= $ 1(文件1)和$ 133(file2)= $ 2(文件1)的行。我尝试以不同方式更改代码而没有成功。我很感激你的帮助,我是awk的新人!