Linux

具有特定行的列的總和並將該值寫入 .txt 文件

  • April 3, 2022

我有許多文本文件,它們有 70000 行和 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 命令,但無法指定我需要對特定值求和的行。我想知道 sum 使用哪個命令以及如何將該 sum 值寫入文本文件。

這可能是您想要的,使用 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

引用自:https://unix.stackexchange.com/questions/697696