複数列ファイルの1列を蓄積してファイル全体を保存します。

複数列ファイルの1列を蓄積してファイル全体を保存します。

複数列ファイルの列累積合計を計算し、bashコマンドを使用してファイル全体を保存する方法は?

入力ファイルの例は次のとおりです。

0       1869.75  31
1.342   1869.75  31
9.8     2479.45  177.8
74.15   3730.05  909.1 
43.6    5793.95  3562.95

一番左の列には上から下への累積合計が含まれ、ファイルの残りの部分は同じままになりたいです。サンプル出力ファイルは次のとおりです。

0        1869.75  31
1.342    1869.75  31
11.142   2479.45  177.8
85.292   3730.05  909.1 
128.892  5793.95  3562.95

「50.txt」というファイルに対して次の簡単なコマンドを試しましたが、新しいファイル「n_50.txt」では何もしませんでした。

awk '{sum+=$1;print}' 50.txt > n_50.txt

事前に助けてくれてありがとう。

ベストアンサー1

次のように試すことができます。

# cat q
0 1 2
1 2 3
2 3 4
3 4 5
                                                                                                                       

# awk '{sum+=$1;$1=sum}1' q
0 1 2
1 2 3
3 3 4
6 4 5

アイデアは、最初のフィールドを次に置き換えることです。sum

おすすめ記事