Awk 如何基于模式子集tsv文件?

Awk 如何基于模式子集tsv文件?,awk,sed,grep,Awk,Sed,Grep,我有两个文件。一个文件是包含多列的选项卡分隔文件。另一个文件是基因名称列表。我必须只提取那些具有文件2中列出的基因的行在文件1中。 我尝试了以下命令,但它提取了所有行: awk 'NR==FNR{a[$0]=1;next} {for(i in a){if($10~i){print;break}}}' File2 file1 文件1: 输入行ID色度位置链参考碱基Alt碱基样本ID HUGO符号序列本体蛋白质序列 3 VAR113_NM-02_肿瘤_DNA chr1 11082255+G T

我有两个文件。一个文件是包含多列的选项卡分隔文件。另一个文件是基因名称列表。我必须只提取那些具有文件2中列出的基因的行在文件1中。 我尝试了以下命令,但它提取了所有行:

 awk 'NR==FNR{a[$0]=1;next} {for(i in a){if($10~i){print;break}}}' File2 file1
文件1:

输入行ID色度位置链参考碱基Alt碱基样本ID HUGO符号序列本体蛋白质序列
3 VAR113_NM-02_肿瘤_DNA chr1 11082255+G T NM-02_肿瘤_DNA TARDBP MS K263N。通过het 3 25
4 VAR114_NM-02_肿瘤DNA chr1 15545868+G T NM-02_肿瘤DNA TMEM51 MS V131F。通过het 3 13
6 VAR116_NM-02_肿瘤DNA chr1 20676680+C T NM-02_肿瘤DNA VWA5B1 SY S970S。通过het 4 34
7 RS14902149_NM-02_肿瘤_DNA chr1 21554495+C A NM-02_肿瘤_DNA ECE1 SY S570S。通过het 3
16 VAR126_NM-02_肿瘤DNA chr1 39905109+C T NM-02_肿瘤DNA MACF1 SY V4069V。通过het 4 17
21 VAR131_NM-02_肿瘤DNA chr1 101387378+G T NM-02_肿瘤DNA SLC30A7 MS A275S。通过het 4 45
24 VAR134_NM-02_肿瘤DNA chr1 113256156+C A NM-02_肿瘤DNA PPM1J MS S135I。通过het 3 9
25 rs201097299_NM-02_肿瘤_DNA chr1 145326106+A T NM-02_肿瘤_DNA NBPF10 MS M1327L。通过5级考试
26 VAR136_NM-02_肿瘤DNA chr1 149859281+T C NM-02_肿瘤DNA组织学H2AB SY E62E。通过11级考试
27 VAR137_NM-02_肿瘤DNA chr1 150529801+C A NM-02_肿瘤DNA ADAMTSL4 SY S679S。通过het 3
28 rs376491237_NM-02_肿瘤DNA chr1 150532649+C A NM-02_肿瘤DNA ADAMTSL4 SY R1068R。传球
34 VAR144_NM-02_肿瘤DNA chr1 160389277+T A NM-02_肿瘤DNA VANGL2 SY L226L。通过het 3 6
35 VAR145_NM-02_肿瘤DNA chr1 161012389+C A NM-02_肿瘤DNA USF1 MS D44Y。通过het 3 32
37 VAR147_NM-02_肿瘤DNA chr1 200954042+G T NM-02_肿瘤DNA KIF21B MS R1250S。通过het 3 21
41 rs191896925_NM-02_肿瘤DNA chr1 207760805+G T NM-02_肿瘤DNA CR1 MS G1869W。通过het 3
42 VAR152_NM-02_肿瘤_DNA chr1 208218427+C A NM-02_肿瘤_DNA PLXNA2 SY G1208G。通过het 3 13
43 VAR153_NM-02_肿瘤DNA chr1 222715425+A G NM-02_肿瘤DNA HHIPL2 SY Y349Y。通过het 10 41
44 VAR154_NM-02_肿瘤DNA chr1 222715452+TA NM-02_肿瘤DNA HHIPL2 SY G340G。通过het 5 46
45 VAR155_NM-02_肿瘤_DNA chr1 223568296+G A NM-02_肿瘤_DNA C1orf65 SY G493G。通过het 3 25
48 VAR158_NM-02_肿瘤DNA chr2 8931258+G A NM-02_肿瘤DNA KIDINS220 MS P458L。通过het 3 13
51 VAR161_NM-02_肿瘤_DNA chr2 37229656+C A NM-02_肿瘤_DNA加热器5b MS G1704C。通过het 4 9
60 VAR170_NM-02_肿瘤DNA chr2 84775506+G T NM-02_肿瘤DNA DNAH6 MS Q427H。通过het 3 20
63 VAR173_NM-02_肿瘤DNA chr2 86378563+C A NM-02_肿瘤DNA IMMT MS A420S。通过het 6 29
64 VAR174_NM-02_肿瘤DNA chr2 86716546+G T NM-02_肿瘤DNA KDM3A MS C1140F。通过het 3 18
65 VAR175_NM-02_肿瘤DNA chr2 96852612+C A NM-02_肿瘤DNA标准7 SY L323L。通过het 2
67 VAR177_NM-02_肿瘤DNA chr2 121747740+C A NM-02_肿瘤DNA GLI2 MS P1417H。通过het 2
71 rs199770435_NM-02_肿瘤_DNA chr2 130872871+C T NM-02_肿瘤_DNA POTEF SY G184G。通过8级考试
72 rs199695856_NM-02_肿瘤_DNA chr2 132919171+A G NM-02_肿瘤_DNA ANKRD30BL SY H36H。传球
73 rs111295191_NM-02_肿瘤_DNA chr2 132919192+G A NM-02_肿瘤_DNA ANKRD30BL SY N29N。传球
76 VAR186_NM-02_肿瘤DNA chr2 167084231+T A NM-02_肿瘤DNA SCN9A SY A1392A。通过het 3 19
77 VAR187_NM-02_肿瘤_DNA chr2 168100115+C G NM-02_肿瘤_DNA XIRP2 MS T738S。通过het 9 49
78 VAR188_NM-02_肿瘤_DNA chr2 179343033+G T NM-02_肿瘤_DNA FKBP7 MS A65D。通过het 3 7
79 VAR189_NM-02_肿瘤_DNA chr2 179544108+G C NM-02_肿瘤_DNA TTN MS P11234A。通过het 3 17
82 VAR192_NM-02_肿瘤DNA chr2 220074164+G T NM-02_肿瘤DNA ZFAND2B MS E92D。通过het 2
83 VAR193_NM-02_肿瘤DNA chr2 220420892+C A NM-02_肿瘤DNA OBSL1 MS G1487W。通过het 3 9
84 rs191578275_NM-02_肿瘤_DNA chr2 233273263
awk 'NR==FNR{A[$1];next}$9 in A' file2 file1

**empty line** (since `MYLK` was found after the line break it is included
107     rs58176285_NM-02_TUMOR_DNA      chr3    123419183       +       G       A       NM-02_TUMOR_DNA MYLK    SY      A1044A  .       PASS    het     18
108     VAR218_NM-02_TUMOR_DNA  chr3    123419189       +       C       T       NM-02_TUMOR_DNA MYLK    SY      K1042K  .       PASS    het     23      174
awk 'NR==FNR{A[$1];next}$9 in A' file2 file1 | awk '!/^$/' 

107     rs58176285_NM-02_TUMOR_DNA      chr3    123419183       +       G       A       NM-02_TUMOR_DNA MYLK    SY      A1044A  .       PASS    het     18
108     VAR218_NM-02_TUMOR_DNA  chr3    123419189       +       C       T       NM-02_TUMOR_DNA MYLK    SY      K1042K  .       PASS    het     23      174