我有许多文本文件,有 70000 行和 2 列。我想对第 2 列从 40000 到 70000 行的条目求和,并将总和值写入新的文本文件。
例如:-假设
数据1_old.txt
.5
.6
.3
.5
.9
数据2_old.txt
.3
.9
1.2
.8
.6
我想添加每个文件第 3 行到第 5 行的值并将其写入 New_Data.txt
所以,New_data.txt 应该是这样的
1.7
2.6
我知道如何读取和写入文本文件。我尝试使用 awk 命令,但无法指定需要对特定值的行进行求和的行。我想知道使用哪个命令求和以及如何将该求和值写入文本文件。
答案1
这可能就是您想要的,使用 GNU awk 进行ENDFILE
:
awk '40000<=FNR && FNR<=70000{sum+=$NF} ENDFILE{print sum+0; sum=0}' Data*.txt > New_data.txt
如果您确实希望输出以 、 等行号开头1.
,2.
则只需将其调整为:
awk '40000<=FNR && FNR<=70000{sum+=$NF} ENDFILE{print ARGIND"." sum+0; sum=0}' Data*.txt > New_data.txt