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
。内部交換はローカルではサポートされていませんawk
。sponge
fromを使用して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:~$