大型.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