特定行的列总和并将该值写入 .txt 文件

特定行的列总和并将该值写入 .txt 文件

我有许多文本文件,有 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

相关内容