2つのtxtファイルから数字を追加し、同じファイルに書き込む方法は?

2つのtxtファイルから数字を追加し、同じファイルに書き込む方法は?

2つのtxtファイルから数字を追加したいと思います。 file1の番号が変更され、file2は次のように独自に更新されますfile2 = file1 + file2。小数点以下の桁は必要ありません。

例:

ファイル1

3

ファイル2

7

出力:

ファイル1

3

ファイル2

10

試してみましたが、$ paste file1 file2 | awk '{$0 = $1 + $2}' > file2ファイル1からファイル2に数字をコピーするだけです。

答え1

。内部交換はローカルではサポートされていませんawkspongefromを使用してmoreutils読み取ったファイルを書き換えることができます。

awk- 2つのファイルを1行ずつ追加する方法

awk ' FNR==NR { a[NR]=$1 } FNR!=NR { print $1+a[FNR] }' file1 file2 | sponge file2

よりシンプルでawk浮動小数点もサポートします。

paste -d'+' file1 file2 | bc -l | sponge file2

どちらの方法も複数行ファイルをサポートします。

答え2

次のことができます。

let tot=$(cat file1)+$(cat file2)
echo $tot

答え3

コマンドを試してみましたが、うまくいきます。

paste f1 f2| awk '{print $1+$2}' >f2_tmp && mv f2_tmp f2


praveen@praveen:~$ cat f1
3
praveen@praveen:~$ cat f2
10
praveen@praveen:~$ 

関連情報