让awk
解析下一行的正确语法是什么?下一个粗体是我认为应该去的地方,但我想问问专家,因为我是初学者。谢谢。
awk 'NR==2 {split($2,a,"[_.>]");b=substr(a[4],1,length(a[4]-1));print a[2]+0,b,b,substr(a[4],length(a[4])),a[5]}' **{nextline=NR+1;next}** OFS="\t" out_position.txt > out_parse.txt
例如,如果文件中有2个条目,则第一个条目由代码解析而不是第二个。
内容:
Input Variant Errors Chromosomal Variant Coding Variant(s)
NM_004004.5:c.79G>A NC_000013.10:g.20763642C>T NM_004004.5:c.79G>A XM_005266354.1:c.79G>A XM_005266355.1:c.79G>A XM_005266356.1:c.79G>A
NM_004004.5:c.283G>C NC_000013.10:g.20763438C>G NM_004004.5:c.283G>C XM_005266354.1:c.283G>C XM_005266355.1:c.283G>C XM_005266356.1:c.283G>C
答案 0 :(得分:0)
假设您要处理除标题之外的所有行,请执行以下操作:(新行仅用于提高可读性,如果需要,可以删除它们)
awk -v OFS='\t' 'NR>1 {
split($2,a,"[_.>]");
b=substr(a[4],1,length(a[4]-1));
print a[2]+0,b,b,substr(a[4],length(a[4])),a[5]
}' out_position.txt > out_parse.txt