【发布时间】:2016-01-18 21:14:27
【问题描述】:
我有一个包含数百万行的文件,如下所示:
chr1 18217866 . T A 52.2409 . AB=0;ABP=0;AC=2;AF=0;AN=2;AO=2;CIGAR=1X;DP=2;DPB=2;DPRA=0;EPP=7.35324;EPPR=0;GTI=0;LEN=1;MEANALT=1;MQM=60;MQMR=0;NS=1;NUMALT=1;ODDS=7.37776;PAIRED=0;PAIREDR=0;PAO=0;PQA=0;PQR=0;PRO=0;QA=74;QR=0;RO=0;RPP=7.35324;RPPR=0;RUN=1;SAF=2;SAP=7.35324;SAR=0;SRF=0;SRP=0;SRR=0;TYPE=snp GT:DP:RO:QR:AO:QA:GL 1/1:2:0:0:2:74:-7.03,-0.60206,0
我试图在第二列中找到与给定数字匹配的所有行,其中AF=0 如下所示:
grep '1821786*' file.vcf | cut -f 8 | awk -F \; '$4 == 0 {print $4}' | wc -l
问题在于:
grep '1821786*' file.vcf | cut -f 8 |
打印:AF=0,这样就不会与 awk 语句中的 $4 == 0 比较匹配。
有没有办法去掉AF= 以便awk 语句匹配第4 列中的0?
【问题讨论】: