需要将过滤器应用于这样的文件:
TUPAC_0006:1:1:2554:2356#0/1 0 * 0 0 * * 0 0 AGAGTTTTAAAATTTCCTTCCATTTCAGTATATGCATACTCAGTTCATCACATAGTAATATCAATAAAAAAATAAA aK\`Zb_`aaaffdf]ffcfffafddffdffa[ffffcefgfacgggcgedaf[cQ^^_^cc`acadccbgbgcbb XM:i:0
TUPAC_0006:1:1:4363:2353#0/2 0 * 0 0 * * 0 0 CNNCNCCATTNATCGGTTACTACTATACTCAATGGATCCAATACCGTTACCAACGGAACAAGTTACCCTAGGGATA UBBUBT[JTZBHOUIHQGNSVPQYVedcWeHHVK]aee`ca\KaaaLaS\\QW\Qadd_ehhh[cXUIPSaZYW[c XM:i:0
TUPAC_0006:1:1:3197:2355#0/1 0 * 0 0 * * 0 0 AGGGCAGAGGACCAACATGGGCATTTTGTTTATGAGCAACGTGGGTCTCA acY\a\^Sc^`Z^aYff_dYcc^L\]\WRY__dKdYaY\LSIQQO\[W^a XM:i:0
TUPAC_0006:1:1:3142:2353#0/2 0 * 0 0 * * 0 0 ACGTCATTTCCACATTCAAAATCCGCAAAGCAGCCAATCACATCGTTCTCTGCAAACTTGTCTCCGTAGTTTTCAA fffffcffffggggggcgggggggdfgggggcfgggggggggggccRfffgdggafggfffgeffgdWbd]dbdag XM:i:0
TUPAC_0006:1:1:2463:2357#0/1 16 chr1:20982270-20982592|ENST00000415136.2|100_100 115 255 76M * 0 0 GCTGGGCAGTGAGTGCGGGATTGAGTTTGACGAGGAGAAAACGGCTGTCATTGACCATCACAACTATGACATCTCA XO^WacPV\[O]`c`_cac^PdadcW]fccacaa\^ZZ`_V_V_R_Wfacfffddfdf^ccafff_cddda^cccY XA:i:0 MD:Z:76 NM:i:0
TUPAC_0006:1:1:2463:2357#0/2 16 chr1:20982031-20982172|ENST00000415136.2|100_100 17 255 76M * 0 0 GCTGGGCAGTGAGTGCGGGATTGAGTTTGACGAGGAGAAAACGGCTGTCATTGACCATCACAACTATGACATCTCA XO^WacPV\[O]`c`_cac^PdadcW]fccacaa\^ZZ`_V_V_R_Wfacfffddfdf^ccafff_cddda^cccY XA:i:0 MD:Z:76 NM:i:0
TUPAC_0006:1:1:2463:2357#0/1 16 chr1:20982273-20982595|ENST00000415136.2|100_100 118 255 76M * 0 0 GCTGGGCAGTGAGTGCGGGATTGAGTTTGACGAGGAGAAAACGGCTGTCATTGACCATCACAACTATGACATCTCA XO^WacPV\[O]`c`_cac^PdadcW]fccacaa\^ZZ`_V_V_R_Wfacfffddfdf^ccafff_cddda^cccY XA:i:0 MD:Z:76 NM:i:0
我只想保留第二个字段上有16的行,并且第一个字段以/ 1结尾。
期望的结果:
TUPAC_0006:1:1:2463:2357#0/1 16 chr1:20982270-20982592|ENST00000415136.2|100_100 115 255 76M * 0 0 GCTGGGCAGTGAGTGCGGGATTGAGTTTGACGAGGAGAAAACGGCTGTCATTGACCATCACAACTATGACATCTCA XO^WacPV\[O]`c`_cac^PdadcW]fccacaa\^ZZ`_V_V_R_Wfacfffddfdf^ccafff_cddda^cccY XA:i:0 MD:Z:76 NM:i:0
TUPAC_0006:1:1:2463:2357#0/1 16 chr1:20982273-20982595|ENST00000415136.2|100_100 118 255 76M * 0 0 GCTGGGCAGTGAGTGCGGGATTGAGTTTGACGAGGAGAAAACGGCTGTCATTGACCATCACAACTATGACATCTCA XO^WacPV\[O]`c`_cac^PdadcW]fccacaa\^ZZ`_V_V_R_Wfacfffddfdf^ccafff_cddda^cccY XA:i:0 MD:Z:76 NM:i:0
我尝试用这个awk行做到这一点:
awk '{if ($1 ~ //1/ && $2 == 16) print $0}' file
但是字符“/”正在扰乱awk的语法。所以,我也试过了:
awk '{if ($1 ~ /"/1"/ && $2 == 16) print $0}' file
但它不起作用。
有人知道如何使用awk找到/ 1字符串吗?
等效解决方案仅按第一个字段的最后一个数字进行过滤。但是我不知道怎么用awk来做。
谢谢你的时间!
答案 0 :(得分:3)
试试这个:
awk '$1~/\/1$/ && $2==16' file
使用\/1$
匹配字段#1末尾的/1
。