使用awk解析特定条件

使用awk解析特定条件,awk,Awk,我正试图使用awk解析多个条件,但第一个条件遇到了一些问题。我认为下面的代码很接近,但它没有返回所需的输出。解析规则是:谢谢:) NC_后4个零(不总是这种情况)和前4个数字 g、 ####g### c t awk-F“[>]”FNR>1{X=$4+0;sub(X,“,$4);打印$2+0,X,X,$4,$5}”OFS=“\t”${id}\u position.txt>${id}\u parse.txt id_position.txt Input Variant Errors Chromo

我正试图使用
awk
解析多个条件,但第一个条件遇到了一些问题。我认为下面的代码很接近,但它没有返回所需的输出。解析规则是:谢谢:)

  • NC_后4个零(不总是这种情况)和前4个数字
  • g、 ####g###
  • c
  • t

    awk-F“[>]”FNR>1{X=$4+0;sub(X,“,$4);打印$2+0,X,X,$4,$5}”OFS=“\t”${id}\u position.txt>${id}\u parse.txt

  • id_position.txt

    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
    
    期望输出:

    13     20763642     20763642     C     T
    
    这应该做到:

    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]}' OFS="\t" file
    13      20763642        20763642        C       T
    

    这看起来与你的另一个问题非常相似:是的,但我对脚本做了一些修改,并发布了一些数据。。。如果我做得不对,我很抱歉,但我认为这可能更容易阅读。谢谢:)。