大型.txt或.csv Linux的列总和

大型.txt或.csv Linux的列总和,linux,csv,Linux,Csv,我有一个很大的.txt。我需要对数据进行操作,以确定存储了多少信息。我基本上需要总结所有单独的数据点。问题是所有数据都存储在列中,我不知道如何运行Linux命令来正确地求和 文件的一部分: header: seq: 0 stamp:

我有一个很大的
.txt
。我需要对数据进行操作,以确定存储了多少信息。我基本上需要总结所有单独的数据点。问题是所有数据都存储在列中,我不知道如何运行Linux命令来正确地求和

文件的一部分:

header:                                                                 
  seq: 0                                                                
  stamp:                                                                
    secs: 1467830307                                                                
    nsecs: 890825036                                                                
  frame_id: map                                                             
info:                                                               
  map_load_time:                                                                
    secs: 0                                                             
    nsecs:         0                                                                
  resolution: 0.0500000007451                                                               
  width: 7200                                                               
  height: 7200                                                              
  origin:                                                               
    position:                                                               
      x: -180.0                                                             
      y: -180.0                                                             
      z: 0.0                                                                
    orientation:                                                                
      x: 0.0                                                                
      y: 0.0                                                                
      z: 0.0                                                                
      w: 1.0                                                                
data: [0    0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0
    0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0 ]
实际的文件比这个大得多,但本质上我需要添加该“数据”集中的所有数字(其他所有内容都可以删除)。
提前谢谢

假设您的文件名为
data.txt
,我会像这样使用
awk

awk '
   /^data:/ {f=1}
   f==1     {gsub(/[a-zA-Z:\[\]]/,""); for(i=1;i<=NF;i++)t+=$i}
   END      {print t}
' data.txt

请格式化您的问题,以便我们了解您的文件的外观。它实际上是否有一行读作“Header:”或“Data:”?如果没有,可以只粘贴一个文件的样本。几张唱片。并将其格式化为代码,以便我们可以阅读。对不起,我认为现在应该更容易查看。所有内容(标题、信息等)都是实际文件的一部分。我想删除它,只保留数据行,然后尝试求和。
数据
总是文件中的最后一项吗?数据是否始终是文件中
[…]
中的唯一内容?是的,这两个问题都有。删除所有字母时,它是否重新计算NF?否则,以数据开头的行将与下一行不对齐(即,与开头没有数据的行相比,“数据”行的值将位于“column+1”中…(注意,示例中的第一个0位于column 2中,col1也将被解释为0!)抱歉,我不明白op只需要一个所有元素的简单加法,而不是每个列的总和。。。(这里需要考虑我之前的评论。在这里你很好,加上“”(1美元,以前是“数据”)只会在总和上加0,因此结果是正确的。+1
awk '/^data:/{f=1} f==1{gsub(/[a-zA-Z:\[\]]/,"");for(i=1;i<=NF;i++)t+=$i} END{print t}' data.txt