特定の行の列の合計を計算し、その値を.txtファイルに書き込みます。

特定の行の列の合計を計算し、その値を.txtファイルに書き込みます。

70000行と2列のテキストファイルがたくさんあります。 2列の40000行から70000行までの項目を合計し、その合計された値を新しいテキストファイルに書きたいと思います。

例えば:- 仮説

data1_old.txt

  .5
  .6
  .3
  .5
  .9

data2_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.出力がline numberなどで始まるようにするには、2.次のように調整します。

awk '40000<=FNR && FNR<=70000{sum+=$NF} ENDFILE{print  ARGIND"." sum+0; sum=0}' Data*.txt > New_data.txt

おすすめ記事