从文件2中提取与两列上的值匹配的行与文件1的不同列数上的行

时间:2017-08-11 11:17:41

标签: awk pattern-matching match multiple-columns lines

我正在尝试使用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的新人!

0 个答案:

没有答案