我想通过只取最后一列的一个特定部分来修改文件(gff3格式)!在特定列中使用awk提取模式
我的文件看起来像这样与标签空格分隔的九列:
NW_015494524.1时针CDS 1220137 1220159。 - 0 ID = cds20267; Parent = rna22739; Dbxref = GeneID:107513619,Genbank:XP_016006018.1; Name = XP_016006018.1; gbkey = CDS; gene = A3GALT2; product = alpha_1%2C3-galactosyltransferase_2 protein_id = XP_016006018.1
我想只提取出现在最后一列($ 9)中的我的基因名称(; gene = XXX;)。输入:
NW_015494524.1 Gnomon CDS 1220137 1220159。 - 0 A3GALT2
后这个工作,我想列4,5,7,8和九关口提取值的唯一列 期望输出相结合:
A3GALT2 1220137 1220159 - 0
我试图使用awk
在最后一列中只采用模式gene = xxxx。我的基因名称是带或不带数字的大写字母;并以';'分隔分号在第九列。
awk FS "[ \t]" '$9 ~/gene=[A-Z0-9]$/ {print $0, $4, $5, $7, $8}' <file>
它不工作。是否有另外一种方法可以与awk
或sed
或grep
比较好?
感谢您提前给予帮助。
您希望输出为NW_015494524.1 Gnomon CDS 1220137 1220159。 - 0 A3GALT2'或'NW_015494524.1 Gnomon CDS 1220137 1220159。 - 0',请给我们解释一下吗? – RavinderSingh13
对不起。我想分两部分来做,但我可以一次完成。我想要基因名称,位置,链和阶段。感谢解决方案。 – Nico64