如何使用awk连接和求和文件中的多行

nstatim

我有一个文件A.csv(字段分隔符 = ,):

Lane,SampleID,Index,# Reads,# Perfect Index Reads,# One Mismatch Index Reads,# of >= Q30 Bases (PF),Mean Quality Score (PF)
1,4331099,AACCATAGAA-CCATCTCGCC,301713,291343,10370,10159753,33.99
1,4360506,GCCGCACTCT-CGAGGTCGGA,271546,261268,10278,9107606,33.91
2,4331099,AACCATAGAA-CCATCTCGCC,297033,286679,10354,10036901,34.06
2,4360506,GCCGCACTCT-CGAGGTCGGA,266222,255838,10384,8954558,33.96
3,4331099,AACCATAGAA-CCATCTCGCC,293499,281393,12106,9838039,33.89
3,4360506,GCCGCACTCT-CGAGGTCGGA,262214,249940,12274,8741308,33.78
4,4331099,AACCATAGAA-CCATCTCGCC,289896,277519,12377,9735725,33.93
4,4360506,GCCGCACTCT-CGAGGTCGGA,255337,243245,12092,8530109,33.82

我想根据 连接该行SampleID,打印该Index列并对其他列 ( # Reads,# Perfect Index Reads,# One Mismatch Index Reads,# of >= Q30 Bases (PF),Mean Quality Score (PF))求和并删除该列Lane并将结果放在另一个文件中,如下所示:

SampleID,Index,# Reads,# Perfect Index Reads,# One Mismatch Index Reads,# of >= Q30 Bases (PF),Mean Quality Score (PF)
4331099,AACCATAGAA-CCATCTCGCC,1182141,1136934,45207,39770418,135.87
4360506,GCCGCACTCT-CGAGGTCGGA,1055319,1010291,45028,35333581,135.47

您是否有一些awk命令(或其他)来执行此操作?

我已经做了一些这样的测试,但没有接近开始:

awk '{
      if(NR!=2){a[$1]=$2";"a[$1]}
      else print $0}
    END{
      n = asorti(a, b);
      for (n in b) {
      print b[n],a[b[n]]
      }
    }'

提前致谢

αғsнιη
gawk -F, -v s=4 '
    NR>1{ for(c=s; c<=NF; c++) sum_[c][$2 FS $3] +=$c; next }
        { sub(/^[^,]*,/ ,""); print }
END{ for(r in sum_[s]){
         printf ("%s", r);
         for(i=s; i<=NF; i++) printf (",%s", sum_[i][r]);
         print ""
     };
}' infile

将订单保留为原始文件:

gawk -F, -v s=5 '
    NR>1{ 
          if(!seen[$3 FS $4]) seen[$3 FS $4]=$1;
          for(c=s; c<=NF; c++) sum_[c][$3 FS $4] +=$c; next 
        }
        { sub(/^([^,]*,){2}/ ,""); print "1 "$0 }
END{ for(r in sum_[s]){
         printf ("%s %s", seen[r], r);
         for(i=s; i<=NF; i++) printf (",%s", sum_[i][r]);
         print ""
     };
}' <(nl -s ',' -w 1 infile) |sort |cut -d' ' -f2-

或者使用datamash您可能更喜欢的GNU

datamash -H  -t,  -s  -g2,3  sum 4-8 <infile

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

使用awk匹配和求和多行文件

来自分类Dev

如何使用 bc 和 stat 求和文件大小

来自分类Dev

如何使用bash或awk对多个文件中的矩阵求和

来自分类Dev

如何使用awk对tsv文件中的行求和?

来自分类Dev

如何使用python求和文本文件中的奇数索引数字

来自分类Dev

如何对R中的多行求和

来自分类Dev

如何使用awk连接具有多行的列

来自分类Dev

使用终端,如何查看通过USB端口连接的外部HDD中的目录(和文件)?

来自分类Dev

使用终端,如何查看通过USB端口连接的外部HDD中的目录(和文件)?

来自分类Dev

如何使用“:”和文件名中的递增数字复制和重命名文件

来自分类Dev

如何从100个文件中求和-bash / awk?

来自分类Dev

如何在bash中编辑多行图案(可使用sed和awk)

来自分类Dev

如何使用sed和awk处理csv文件中的^ M?

来自分类Dev

如何使用 awk 和 sed 读取 JSON 文件中的列表

来自分类Dev

如何在大型文件上使用awk进行多行计算

来自分类Dev

我如何使用awk分割文件来多行记录?

来自分类Dev

如何在大型文件上使用awk进行多行计算

来自分类Dev

如何使用awk执行多行匹配和替换?

来自分类Dev

如何使用 awk、grep 和/或 powershell 过滤多行

来自分类Dev

如何使用Powershell删除文件中的多行?

来自分类Dev

使用PHP将JSON文件中的多行和文档插入MySQL数据库

来自分类Dev

使用PHP将JSON文件中的多行和文档插入MySQL数据库

来自分类Dev

如何使用 Python 解析数据多行和多行字符串并将数据提取到 JSON 文件中

来自分类Dev

连接标准输出和文件中的内容

来自分类Dev

如何对100个文件求和-bash / awk?

来自分类Dev

如何在具有特定标识符的多行和多表中求和?

来自分类Dev

如何使用StreamXmlRecordReader解析单个文件中的单行和多行xml记录

来自分类Dev

求和文本文件中整数的最快方法

来自分类Dev

请求和文件cookiejar在类中不起作用

Related 相关文章

  1. 1

    使用awk匹配和求和多行文件

  2. 2

    如何使用 bc 和 stat 求和文件大小

  3. 3

    如何使用bash或awk对多个文件中的矩阵求和

  4. 4

    如何使用awk对tsv文件中的行求和?

  5. 5

    如何使用python求和文本文件中的奇数索引数字

  6. 6

    如何对R中的多行求和

  7. 7

    如何使用awk连接具有多行的列

  8. 8

    使用终端,如何查看通过USB端口连接的外部HDD中的目录(和文件)?

  9. 9

    使用终端,如何查看通过USB端口连接的外部HDD中的目录(和文件)?

  10. 10

    如何使用“:”和文件名中的递增数字复制和重命名文件

  11. 11

    如何从100个文件中求和-bash / awk?

  12. 12

    如何在bash中编辑多行图案(可使用sed和awk)

  13. 13

    如何使用sed和awk处理csv文件中的^ M?

  14. 14

    如何使用 awk 和 sed 读取 JSON 文件中的列表

  15. 15

    如何在大型文件上使用awk进行多行计算

  16. 16

    我如何使用awk分割文件来多行记录?

  17. 17

    如何在大型文件上使用awk进行多行计算

  18. 18

    如何使用awk执行多行匹配和替换?

  19. 19

    如何使用 awk、grep 和/或 powershell 过滤多行

  20. 20

    如何使用Powershell删除文件中的多行?

  21. 21

    使用PHP将JSON文件中的多行和文档插入MySQL数据库

  22. 22

    使用PHP将JSON文件中的多行和文档插入MySQL数据库

  23. 23

    如何使用 Python 解析数据多行和多行字符串并将数据提取到 JSON 文件中

  24. 24

    连接标准输出和文件中的内容

  25. 25

    如何对100个文件求和-bash / awk?

  26. 26

    如何在具有特定标识符的多行和多表中求和?

  27. 27

    如何使用StreamXmlRecordReader解析单个文件中的单行和多行xml记录

  28. 28

    求和文本文件中整数的最快方法

  29. 29

    请求和文件cookiejar在类中不起作用

热门标签

归档