如何匹配特定列?

Posted

技术标签:

【中文标题】如何匹配特定列?【英文标题】:How to match specific column? 【发布时间】:2021-07-12 04:35:15 【问题描述】:

我有两个文件

文件_A.txt

1   730132  .   CAAAAAAAAT  CAAAAAAAAAT 77.917  .   AB=0.333333;ABP=8.07707;AC=1;AF=0.5;AN=2;AO=7;CIGAR=1M1I9M;DP=21;DPB=22.1;DPRA=0;EPP=10.7656;EPPR=14.5915;GTI=0;LEN=1;MEANALT=2;MQM=60;MQMR=60;NS=1;NUMALT=1;ODDS=17.9411;PAIRED=1;PAIREDR=1;PAO=0;PQA=0;PQR=0;PRO=0;QA=235;QR=435;RO=12;RPL=1;RPP=10.7656;RPPR=14.5915;RPR=6;RUN=1;SAF=7;SAP=18.2106;SAR=0;SRF=12;SRP=29.068;SRR=0;TYPE=ins;technology.ILLUMINA=1  GT:DP:RO:QR:AO:QA:GL    0/1:21:12:435:7:235:-15.4404,0,-33.4551
1   1330858 .   C   T   676.973 .   AB=0;ABP=0;AC=2;AF=1;AN=2;AO=21;CIGAR=1X;DP=21;DPB=21;DPRA=0;EPP=5.59539;EPPR=0;GTI=0;LEN=1;MEANALT=1;MQM=60;MQMR=0;NS=1;NUMALT=1;ODDS=33.7174;PAIRED=1;PAIREDR=0;PAO=0;PQA=0;PQR=0;PRO=0;QA=777;QR=0;RO=0;RPL=10;RPP=3.1137;RPPR=0;RPR=11;RUN=1;SAF=10;SAP=3.1137;SAR=11;SRF=0;SRP=0;SRR=0;TYPE=snp;technology.ILLUMINA=1  GT:DP:RO:QR:AO:QA:GL    1/1:21:0:0:21:777:-70.2588,-6.32163,0
1   1433706 .   A   G   861.436 .   AB=0;ABP=0;AC=2;AF=1;AN=2;AO=28;CIGAR=1X;DP=28;DPB=28;DPRA=0;EPP=4.25114;EPPR=0;GTI=0;LEN=1;MEANALT=1;MQM=60;MQMR=0;NS=1;NUMALT=1;ODDS=43.4214;PAIRED=1;PAIREDR=0;PAO=0;PQA=0;PQR=0;PRO=0;QA=984;QR=0;RO=0;RPL=16;RPP=4.25114;RPPR=0;RPR=12;RUN=1;SAF=14;SAP=3.0103;SAR=14;SRF=0;SRP=0;SRR=0;TYPE=snp;technology.ILLUMINA=1 GT:DP:RO:QR:AO:QA:GL    1/1:28:0:0:28:984:-88.8604,-8.42884,0
1   1481215 .   A   G   2535.3  .   AB=0;ABP=0;AC=2;AF=1;AN=2;AO=79;CIGAR=1X;DP=79;DPB=79;DPRA=0;EPP=12.9331;EPPR=0;GTI=0;LEN=1;MEANALT=1;MQM=60;MQMR=0;NS=1;NUMALT=1;ODDS=114.122;PAIRED=1;PAIREDR=0;PAO=0;PQA=0;PQR=0;PRO=0;QA=2863;QR=0;RO=0;RPL=35;RPP=5.23675;RPPR=0;RPR=44;RUN=1;SAF=39;SAP=3.03779;SAR=40;SRF=0;SRP=0;SRR=0;TYPE=snp;technology.ILLUMINA=1   GT:DP:RO:QR:AO:QA:GL    1/1:79:0:0:79:2863:-257.887,-23.7814,0
1   1482537 .   T   A   3076.08 .   AB=0;ABP=0;AC=2;AF=1;AN=2;AO=101;CIGAR=1X;DP=101;DPB=101;DPRA=0;EPP=5.61177;EPPR=0;GTI=0;LEN=1;MEANALT=1;MQM=60;MQMR=0;NS=1;NUMALT=1;ODDS=144.621;PAIRED=1;PAIREDR=0;PAO=0;PQA=0;PQR=0;PRO=0;QA=3725;QR=0;RO=0;RPL=3;RPP=197.045;RPPR=0;RPR=98;RUN=1;SAF=55;SAP=4.75178;SAR=46;SRF=0;SRP=0;SRR=0;TYPE=snp;technology.ILLUMINA=1 GT:DP:RO:QR:AO:QA:GL    1/1:101:0:0:101:3725:-335.423,-30.404,0
1   1483791 .   T   A   3162.99 .   AB=0;ABP=0;AC=2;AF=1;AN=2;AO=98;CIGAR=1X;DP=98;DPB=98;DPRA=0;EPP=13.7347;EPPR=0;GTI=0;LEN=1;MEANALT=1;MQM=60;MQMR=0;NS=1;NUMALT=1;ODDS=140.462;PAIRED=1;PAIREDR=0;PAO=0;PQA=0;PQR=0;PRO=0;QA=3590;QR=0;RO=0;RPL=59;RPP=11.8735;RPPR=0;RPR=39;RUN=1;SAF=35;SAP=20.3821;SAR=63;SRF=0;SRP=0;SRR=0;TYPE=snp;technology.ILLUMINA=1   GT:DP:RO:QR:AO:QA:GL    1/1:98:0:0:98:3590:-323.28,-29.5009,0
1   1483918 .   C   T   1824.77 .   AB=0;ABP=0;AC=2;AF=1;AN=2;AO=58;CIGAR=1X;DP=58;DPB=58;DPRA=0;EPP=6.75422;EPPR=0;GTI=0;LEN=1;MEANALT=1;MQM=60;MQMR=0;NS=1;NUMALT=1;ODDS=85.0102;PAIRED=1;PAIREDR=0;PAO=0;PQA=0;PQR=0;PRO=0;QA=2082;QR=0;RO=0;RPL=28;RPP=3.16006;RPPR=0;RPR=30;RUN=1;SAF=18;SAP=21.1309;SAR=40;SRF=0;SRP=0;SRR=0;TYPE=snp;technology.ILLUMINA=1   GT:DP:RO:QR:AO:QA:GL    1/1:58:0:0:58:2082:-187.631,-17.4597,0
1   1486860 .   T   A   1659.8  .   AB=0;ABP=0;AC=2;AF=1;AN=2;AO=56;CIGAR=1X;DP=56;DPB=56;DPRA=0;EPP=6.88793;EPPR=0;GTI=0;LEN=1;MEANALT=1;MQM=60;MQMR=0;NS=1;NUMALT=1;ODDS=82.2377;PAIRED=1;PAIREDR=0;PAO=0;PQA=0;PQR=0;PRO=0;QA=1997;QR=0;RO=0;RPL=4;RPP=92.3509;RPPR=0;RPR=52;RUN=1;SAF=23;SAP=6.88793;SAR=33;SRF=0;SRP=0;SRR=0;TYPE=snp;technology.ILLUMINA=1    GT:DP:RO:QR:AO:QA:GL    1/1:56:0:0:56:1997:-179.986,-16.8577,0
1   1488201 .   A   G   676.269 .   AB=0;ABP=0;AC=2;AF=1;AN=2;AO=42;CIGAR=1X;DP=42;DPB=42;DPRA=0;EPP=3.83753;EPPR=0;GTI=0;LEN=1;MEANALT=1;MQM=29.9048;MQMR=0;NS=1;NUMALT=1;ODDS=62.8295;PAIRED=1;PAIREDR=0;PAO=0;PQA=0;PQR=0;PRO=0;QA=1542;QR=0;RO=0;RPL=24;RPP=4.87156;RPPR=0;RPR=18;RUN=1;SAF=19;SAP=3.83753;SAR=23;SRF=0;SRP=0;SRR=0;TYPE=snp;technology.ILLUMINA=1  GT:DP:RO:QR:AO:QA:GL    1/1:42:0:0:42:1542:-70.7079,-12.6433,0
1   1488449 .   C   T   1452.25 .   AB=0;ABP=0;AC=2;AF=1;AN=2;AO=62;CIGAR=1X;DP=64;DPB=64;DPRA=0;EPP=6.51267;EPPR=3.0103;GTI=0;LEN=1;MEANALT=1;MQM=45.129;MQMR=60;NS=1;NUMALT=1;ODDS=72.3141;PAIRED=1;PAIREDR=1;PAO=0;PQA=0;PQR=0;PRO=0;QA=2258;QR=74;RO=2;RPL=34;RPP=4.27115;RPPR=3.0103;RPR=28;RUN=1;SAF=34;SAP=4.27115;SAR=28;SRF=2;SRP=7.35324;SRR=0;TYPE=snp;technology.ILLUMINA=1 GT:DP:RO:QR:AO:QA:GL    1/1:64:2:74:62:2258:-147.603,-12.24,0
1   1488518 .   G   A   1332.37 .   AB=0;ABP=0;AC=2;AF=1;AN=2;AO=59;CIGAR=1X;DP=59;DPB=59;DPRA=0;EPP=4.81373;EPPR=0;GTI=0;LEN=1;MEANALT=1;MQM=44.5424;MQMR=0;NS=1;NUMALT=1;ODDS=86.3965;PAIRED=1;PAIREDR=0;PAO=0;PQA=0;PQR=0;PRO=0;QA=2057;QR=0;RO=0;RPL=41;RPP=22.4799;RPPR=0;RPR=18;RUN=1;SAF=26;SAP=4.81373;SAR=33;SRF=0;SRP=0;SRR=0;TYPE=snp;technology.ILLUMINA=1  GT:DP:RO:QR:AO:QA:GL    1/1:59:0:0:59:2057:-138.512,-17.7608,0

文件_B.txt

1   839852  .   G   C   47.3728 .   AB=0.222222;ABP=21.1059;AC=1;AF=0.5;AN=2;AO=6;CIGAR=1X;DP=27;DPB=27;DPRA=0;EPP=3.0103;EPPR=3.1137;GTI=0;LEN=1;MEANALT=1;MQM=60;MQMR=60;NS=1;NUMALT=1;ODDS=10.908;PAIRED=1;PAIREDR=1;PAO=0;PQA=0;PQR=0;PRO=0;QA=222;QR=765;RO=21;RPL=0;RPP=16.0391;RPPR=3.1137;RPR=6;RUN=1;SAF=3;SAP=3.0103;SAR=3;SRF=13;SRP=5.59539;SRR=8;TYPE=snp;technology.ILLUMINA=1    GT:DP:RO:QR:AO:QA:GL    0/1:27:21:765:6:222:-12.2103,0,-61.0471
1   1010949 .   T   G   71.6622 .   AB=0.241379;ABP=19.8579;AC=1;AF=0.5;AN=2;AO=7;CIGAR=1X;DP=29;DPB=29;DPRA=0;EPP=3.32051;EPPR=3.40511;GTI=0;LEN=1;MEANALT=1;MQM=60;MQMR=60;NS=1;NUMALT=1;ODDS=16.5008;PAIRED=1;PAIREDR=1;PAO=0;PQA=0;PQR=0;PRO=0;QA=259;QR=802;RO=22;RPL=7;RPP=18.2106;RPPR=42.4916;RPR=0;RUN=1;SAF=4;SAP=3.32051;SAR=3;SRF=9;SRP=4.58955;SRR=13;TYPE=snp;technology.ILLUMINA=1   GT:DP:RO:QR:AO:QA:GL    0/1:29:22:802:7:259:-14.9362,0,-63.7733
1   1011280 .   T   A   61.8864 .   AB=0.225806;ABP=23.254;AC=1;AF=0.5;AN=2;AO=7;CIGAR=1X;DP=31;DPB=31;DPRA=0;EPP=3.32051;EPPR=3.37221;GTI=0;LEN=1;MEANALT=1;MQM=60;MQMR=60;NS=1;NUMALT=1;ODDS=14.2499;PAIRED=1;PAIREDR=1;PAO=0;PQA=0;PQR=0;PRO=0;QA=259;QR=864;RO=24;RPL=0;RPP=18.2106;RPPR=39.2015;RPR=7;RUN=1;SAF=3;SAP=3.32051;SAR=4;SRF=11;SRP=3.37221;SRR=13;TYPE=snp;technology.ILLUMINA=1   GT:DP:RO:QR:AO:QA:GL    0/1:31:24:864:7:259:-14.3342,0,-68.7446
1   1011295 .   C   T   36.0324 .   AB=0.205882;ABP=28.557;AC=1;AF=0.5;AN=2;AO=7;CIGAR=1X;DP=34;DPB=34;DPRA=0;EPP=5.80219;EPPR=12.7417;GTI=0;LEN=1;MEANALT=1;MQM=60;MQMR=60;NS=1;NUMALT=1;ODDS=8.29651;PAIRED=1;PAIREDR=1;PAO=0;PQA=0;PQR=0;PRO=0;QA=235;QR=999;RO=27;RPL=5;RPP=5.80219;RPPR=26.2531;RPR=2;RUN=1;SAF=3;SAP=3.32051;SAR=4;SRF=11;SRP=5.02092;SRR=16;TYPE=snp;technology.ILLUMINA=1   GT:DP:RO:QR:AO:QA:GL    0/1:34:27:999:7:235:-11.2405,0,-79.992
1   1481215 .   A   G   2039.23 .   AB=0;ABP=0;AC=2;AF=1;AN=2;AO=63;CIGAR=1X;DP=63;DPB=63;DPRA=0;EPP=3.872;EPPR=0;GTI=0;LEN=1;MEANALT=1;MQM=60;MQMR=0;NS=1;NUMALT=1;ODDS=91.9417;PAIRED=1;PAIREDR=0;PAO=0;PQA=0;PQR=0;PRO=0;QA=2305;QR=0;RO=0;RPL=27;RPP=5.80219;RPPR=0;RPR=36;RUN=1;SAF=37;SAP=7.18091;SAR=26;SRF=0;SRP=0;SRR=0;TYPE=snp;technology.ILLUMINA=1 GT:DP:RO:QR:AO:QA:GL    1/1:63:0:0:63:2305:-207.695,-18.9649,0
1   1482537 .   T   A   2045.56 .   AB=0;ABP=0;AC=2;AF=1;AN=2;AO=67;CIGAR=1X;DP=67;DPB=67;DPRA=0;EPP=8.4876;EPPR=0;GTI=0;LEN=1;MEANALT=1;MQM=60;MQMR=0;NS=1;NUMALT=1;ODDS=97.4869;PAIRED=1;PAIREDR=0;PAO=0;PQA=0;PQR=0;PRO=0;QA=2440;QR=0;RO=0;RPL=6;RPP=101.051;RPPR=0;RPR=61;RUN=1;SAF=40;SAP=8.4876;SAR=27;SRF=0;SRP=0;SRR=0;TYPE=snp;technology.ILLUMINA=1  GT:DP:RO:QR:AO:QA:GL    1/1:67:0:0:67:2440:-219.837,-20.169,0
1   1483791 .   T   A   1986.66 .   AB=0;ABP=0;AC=2;AF=1;AN=2;AO=62;CIGAR=1X;DP=62;DPB=62;DPRA=0;EPP=5.25182;EPPR=0;GTI=0;LEN=1;MEANALT=1;MQM=60;MQMR=0;NS=1;NUMALT=1;ODDS=90.5554;PAIRED=1;PAIREDR=0;PAO=0;PQA=0;PQR=0;PRO=0;QA=2246;QR=0;RO=0;RPL=32;RPP=3.15039;RPPR=0;RPR=30;RUN=1;SAF=25;SAP=8.05372;SAR=37;SRF=0;SRP=0;SRR=0;TYPE=snp;technology.ILLUMINA=1   GT:DP:RO:QR:AO:QA:GL    1/1:62:0:0:62:2246:-202.388,-18.6639,0
1   1483918 .   C   T   884.753 .   AB=0;ABP=0;AC=2;AF=1;AN=2;AO=28;CIGAR=1X;DP=28;DPB=28;DPRA=0;EPP=5.80219;EPPR=0;GTI=0;LEN=1;MEANALT=1;MQM=60;MQMR=0;NS=1;NUMALT=1;ODDS=43.4214;PAIRED=1;PAIREDR=0;PAO=0;PQA=0;PQR=0;PRO=0;QA=1024;QR=0;RO=0;RPL=19;RPP=10.7656;RPPR=0;RPR=9;RUN=1;SAF=10;SAP=7.97367;SAR=18;SRF=0;SRP=0;SRR=0;TYPE=snp;technology.ILLUMINA=1    GT:DP:RO:QR:AO:QA:GL    1/1:28:0:0:28:1024:-92.4726,-8.42884,0
1   1486860 .   T   A   1313.73 .   AB=0;ABP=0;AC=2;AF=1;AN=2;AO=44;CIGAR=1X;DP=44;DPB=44;DPRA=0;EPP=7.94546;EPPR=0;GTI=0;LEN=1;MEANALT=1;MQM=60;MQMR=0;NS=1;NUMALT=1;ODDS=65.6021;PAIRED=1;PAIREDR=0;PAO=0;PQA=0;PQR=0;PRO=0;QA=1602;QR=0;RO=0;RPL=2;RPP=81.9729;RPPR=0;RPR=42;RUN=1;SAF=17;SAP=7.94546;SAR=27;SRF=0;SRP=0;SRR=0;TYPE=snp;technology.ILLUMINA=1    GT:DP:RO:QR:AO:QA:GL    1/1:44:0:0:44:1602:-144.46,-13.2453,0
1   1488201 .   A   G   435.93  .   AB=0;ABP=0;AC=2;AF=1;AN=2;AO=22;CIGAR=1X;DP=22;DPB=22;DPRA=0;EPP=3.40511;EPPR=0;GTI=0;LEN=1;MEANALT=1;MQM=39.0909;MQMR=0;NS=1;NUMALT=1;ODDS=35.1036;PAIRED=1;PAIREDR=0;PAO=0;PQA=0;PQR=0;PRO=0;QA=762;QR=0;RO=0;RPL=13;RPP=4.58955;RPPR=0;RPR=9;RUN=1;SAF=13;SAP=4.58955;SAR=9;SRF=0;SRP=0;SRR=0;TYPE=snp;technology.ILLUMINA=1 GT:DP:RO:QR:AO:QA:GL    1/1:22:0:0:22:762:-46.2569,-6.62266,0
1   1488449 .   C   T   995.271 .   AB=0;ABP=0;AC=2;AF=1;AN=2;AO=39;CIGAR=1X;DP=43;DPB=43;DPRA=0;EPP=7.52028;EPPR=11.6962;GTI=0;LEN=1;MEANALT=1;MQM=51.2308;MQMR=60;NS=1;NUMALT=1;ODDS=31.858;PAIRED=1;PAIREDR=1;PAO=0;PQA=0;PQR=0;PRO=0;QA=1443;QR=136;RO=4;RPL=22;RPP=4.40227;RPPR=11.6962;RPR=17;RUN=1;SAF=19;SAP=3.06598;SAR=20;SRF=4;SRP=11.6962;SRR=0;TYPE=snp;technology.ILLUMINA=1  GT:DP:RO:QR:AO:QA:GL    1/1:43:4:136:39:1443:-99.1887,-0.37044,0
1   1488518 .   G   A   832.176 .   AB=0;ABP=0;AC=2;AF=1;AN=2;AO=35;CIGAR=1X;DP=35;DPB=35;DPRA=0;EPP=20.9405;EPPR=0;GTI=0;LEN=1;MEANALT=1;MQM=45.3429;MQMR=0;NS=1;NUMALT=1;ODDS=53.1255;PAIRED=1;PAIREDR=0;PAO=0;PQA=0;PQR=0;PRO=0;QA=1231;QR=0;RO=0;RPL=20;RPP=4.56135;RPPR=0;RPR=15;RUN=1;SAF=14;SAP=6.05036;SAR=21;SRF=0;SRP=0;SRR=0;TYPE=snp;technology.ILLUMINA=1  GT:DP:RO:QR:AO:QA:GL    1/1:35:0:0:35:1231:-88.0998,-10.5361,0
1   1488543 .   C   T   803.932 .   AB=0;ABP=0;AC=2;AF=1;AN=2;AO=38;CIGAR=1X;DP=38;DPB=38;DPRA=0;EPP=6.66752;EPPR=0;GTI=0;LEN=1;MEANALT=1;MQM=43.5;MQMR=0;NS=1;NUMALT=1;ODDS=57.2844;PAIRED=1;PAIREDR=0;PAO=0;PQA=0;PQR=0;PRO=0;QA=1266;QR=0;RO=0;RPL=22;RPP=5.06748;RPPR=0;RPR=16;RUN=1;SAF=17;SAP=3.9246;SAR=21;SRF=0;SRP=0;SRR=0;TYPE=snp;technology.ILLUMINA=1  GT:DP:RO:QR:AO:QA:GL    1/1:38:0:0:38:1266:-83.7148,-11.4391,0

我想提取这两个文件中的那些行,匹配标准是第二列。我正在使用以下命令,但它会生成空文件。

cut -f 2 File_A.txt | while read line; do awk -F '\t' '$2=="$line"  OFS="\t"; print $1,$2,$3,$4,$5,$6,$7,$8,$9,$10' File_B.txt >> out.txt; done

【问题讨论】:

请将该示例输入的所需输出(无描述)添加到您的问题(无评论)。 【参考方案1】:

这个awk 应该适合你:

awk -F '\t' 'FNR==NR arr[$2]; next $2 in arr' f1 f2
1   1481215 .   A   G   2039.23 .   AB=0;ABP=0;AC=2;AF=1;AN=2;AO=63;CIGAR=1X;DP=63;DPB=63;DPRA=0;EPP=3.872;EPPR=0;GTI=0;LEN=1;MEANALT=1;MQM=60;MQMR=0;NS=1;NUMALT=1;ODDS=91.9417;PAIRED=1;PAIREDR=0;PAO=0;PQA=0;PQR=0;PRO=0;QA=2305;QR=0;RO=0;RPL=27;RPP=5.80219;RPPR=0;RPR=36;RUN=1;SAF=37;SAP=7.18091;SAR=26;SRF=0;SRP=0;SRR=0;TYPE=snp;technology.ILLUMINA=1 GT:DP:RO:QR:AO:QA:GL    1/1:63:0:0:63:2305:-207.695,-18.9649,0
1   1482537 .   T   A   2045.56 .   AB=0;ABP=0;AC=2;AF=1;AN=2;AO=67;CIGAR=1X;DP=67;DPB=67;DPRA=0;EPP=8.4876;EPPR=0;GTI=0;LEN=1;MEANALT=1;MQM=60;MQMR=0;NS=1;NUMALT=1;ODDS=97.4869;PAIRED=1;PAIREDR=0;PAO=0;PQA=0;PQR=0;PRO=0;QA=2440;QR=0;RO=0;RPL=6;RPP=101.051;RPPR=0;RPR=61;RUN=1;SAF=40;SAP=8.4876;SAR=27;SRF=0;SRP=0;SRR=0;TYPE=snp;technology.ILLUMINA=1  GT:DP:RO:QR:AO:QA:GL    1/1:67:0:0:67:2440:-219.837,-20.169,0
1   1483791 .   T   A   1986.66 .   AB=0;ABP=0;AC=2;AF=1;AN=2;AO=62;CIGAR=1X;DP=62;DPB=62;DPRA=0;EPP=5.25182;EPPR=0;GTI=0;LEN=1;MEANALT=1;MQM=60;MQMR=0;NS=1;NUMALT=1;ODDS=90.5554;PAIRED=1;PAIREDR=0;PAO=0;PQA=0;PQR=0;PRO=0;QA=2246;QR=0;RO=0;RPL=32;RPP=3.15039;RPPR=0;RPR=30;RUN=1;SAF=25;SAP=8.05372;SAR=37;SRF=0;SRP=0;SRR=0;TYPE=snp;technology.ILLUMINA=1   GT:DP:RO:QR:AO:QA:GL    1/1:62:0:0:62:2246:-202.388,-18.6639,0
1   1483918 .   C   T   884.753 .   AB=0;ABP=0;AC=2;AF=1;AN=2;AO=28;CIGAR=1X;DP=28;DPB=28;DPRA=0;EPP=5.80219;EPPR=0;GTI=0;LEN=1;MEANALT=1;MQM=60;MQMR=0;NS=1;NUMALT=1;ODDS=43.4214;PAIRED=1;PAIREDR=0;PAO=0;PQA=0;PQR=0;PRO=0;QA=1024;QR=0;RO=0;RPL=19;RPP=10.7656;RPPR=0;RPR=9;RUN=1;SAF=10;SAP=7.97367;SAR=18;SRF=0;SRP=0;SRR=0;TYPE=snp;technology.ILLUMINA=1    GT:DP:RO:QR:AO:QA:GL    1/1:28:0:0:28:1024:-92.4726,-8.42884,0
1   1486860 .   T   A   1313.73 .   AB=0;ABP=0;AC=2;AF=1;AN=2;AO=44;CIGAR=1X;DP=44;DPB=44;DPRA=0;EPP=7.94546;EPPR=0;GTI=0;LEN=1;MEANALT=1;MQM=60;MQMR=0;NS=1;NUMALT=1;ODDS=65.6021;PAIRED=1;PAIREDR=0;PAO=0;PQA=0;PQR=0;PRO=0;QA=1602;QR=0;RO=0;RPL=2;RPP=81.9729;RPPR=0;RPR=42;RUN=1;SAF=17;SAP=7.94546;SAR=27;SRF=0;SRP=0;SRR=0;TYPE=snp;technology.ILLUMINA=1    GT:DP:RO:QR:AO:QA:GL    1/1:44:0:0:44:1602:-144.46,-13.2453,0
1   1488201 .   A   G   435.93  .   AB=0;ABP=0;AC=2;AF=1;AN=2;AO=22;CIGAR=1X;DP=22;DPB=22;DPRA=0;EPP=3.40511;EPPR=0;GTI=0;LEN=1;MEANALT=1;MQM=39.0909;MQMR=0;NS=1;NUMALT=1;ODDS=35.1036;PAIRED=1;PAIREDR=0;PAO=0;PQA=0;PQR=0;PRO=0;QA=762;QR=0;RO=0;RPL=13;RPP=4.58955;RPPR=0;RPR=9;RUN=1;SAF=13;SAP=4.58955;SAR=9;SRF=0;SRP=0;SRR=0;TYPE=snp;technology.ILLUMINA=1 GT:DP:RO:QR:AO:QA:GL    1/1:22:0:0:22:762:-46.2569,-6.62266,0
1   1488449 .   C   T   995.271 .   AB=0;ABP=0;AC=2;AF=1;AN=2;AO=39;CIGAR=1X;DP=43;DPB=43;DPRA=0;EPP=7.52028;EPPR=11.6962;GTI=0;LEN=1;MEANALT=1;MQM=51.2308;MQMR=60;NS=1;NUMALT=1;ODDS=31.858;PAIRED=1;PAIREDR=1;PAO=0;PQA=0;PQR=0;PRO=0;QA=1443;QR=136;RO=4;RPL=22;RPP=4.40227;RPPR=11.6962;RPR=17;RUN=1;SAF=19;SAP=3.06598;SAR=20;SRF=4;SRP=11.6962;SRR=0;TYPE=snp;technology.ILLUMINA=1  GT:DP:RO:QR:AO:QA:GL    1/1:43:4:136:39:1443:-99.1887,-0.37044,0
1   1488518 .   G   A   832.176 .   AB=0;ABP=0;AC=2;AF=1;AN=2;AO=35;CIGAR=1X;DP=35;DPB=35;DPRA=0;EPP=20.9405;EPPR=0;GTI=0;LEN=1;MEANALT=1;MQM=45.3429;MQMR=0;NS=1;NUMALT=1;ODDS=53.1255;PAIRED=1;PAIREDR=0;PAO=0;PQA=0;PQR=0;PRO=0;QA=1231;QR=0;RO=0;RPL=20;RPP=4.56135;RPPR=0;RPR=15;RUN=1;SAF=14;SAP=6.05036;SAR=21;SRF=0;SRP=0;SRR=0;TYPE=snp;technology.ILLUMINA=1  GT:DP:RO:QR:AO:QA:GL    1/1:35:0:0:35:1231:-88.0998,-10.5361,0

【讨论】:

如果我有三个文件; f1,f2,f3 那么命令是什么? 试一试:awk 'ARGV[1] == FILENAME a[$2]; next ARGV[2] == FILENAME if (!($2 in a)) delete a[$2]; next $2 in a' f1 f2 f3 我试过这个命令awk 'ARGV[1] == FILENAME a[$2]; next ARGV[2] == FILENAME if (!($2 in a)) delete a[$2]; next $2 in a' f1 f2 f3 我希望它会产生与以下命令相同的输出:awk -F '\t' 'FNR==NR arr[$2]; next $2 in arr' f1 f2 >f1f2 awk -F '\t' 'FNR==NR arr[$2]; next $2 in arr' f1f2 f3 > f4 但输出不同。 我建议的命令基于您的评论,因为问题仅显示 2 个文件的示例数据。如果这不起作用,那么我可以建议使用来自 3 个文件的示例数据创建一个新问题,以便我可以更好地理解和回答。

以上是关于如何匹配特定列?的主要内容,如果未能解决你的问题,请参考以下文章

如何根据部分匹配选择 DataFrame 列?

如何根据同一张表中的其他列匹配替换空值

如果任何列与另一个表中的匹配行不同,如何插入行

如何在特定级别重新排序多索引数据框列

Graphene/GraphQL 查找特定列值

如何选择包含特定单词的 postgreSQL 行