awk - 在添加到数组

时间:2018-04-09 10:26:41

标签: awk

在参考这个question regarding column to row transposition using awk时,我感到困惑的是为什么我不能连续显示最后一列,我怀疑行末尾的CR是否被添加到数组中进行打印。

根据the linked question on DOS endings似乎是这种情况如何从当前正在使用的awk脚本的上下文中的最后一个字段中删除CR(不运行类似dos2unix的内容):

{ 
         if (!keys[$3]++) { b[++c] = $3; row1 = row1 OFS $3; row2 = row2 OFS $4 }
         line = groups[$1][$3];
         groups[$1][$3] = (line == ""? $6$7: line OFS $6$7) 
     }
     END{ 
         print row1 ORS row2; 
         for (i in groups) {
             r = i; 
             for (j in b) r = r OFS groups[i][b[j]];
             print r 
         } 
     }

疑似CR的列是7美元,例如

22405   XRJ27   IL17C       rs4673      C______2038_20  N   N
22405   XRJ27   CRP     rs2794520   C____177486_10  T   T
22405   XRJ27   G6PC2       rs560887    C____323082_10  C   C
22405   XRJ27   TCN2        rs1801198   C____325467_10  G   G
22405   XRJ27   SLC30A8     rs13266634  C____357888_10  C   C
22405   XRJ27   COL5A1      rs12722     C____370252_20  C   C
22405   XRJ27   LEPR        rs1137100   C____518168_20  A   G

0 个答案:

没有答案