我想从两个 txt 文件中添加数字。文件 1 中的数字会改变,文件 2 应该像这样更新自己file2 = file1 + file2
。不需要小数。
例子:
文件 1
3
Run Code Online (Sandbox Code Playgroud)
文件 2
7
Run Code Online (Sandbox Code Playgroud)
输出:
文件 1
3
Run Code Online (Sandbox Code Playgroud)
文件 2
10
Run Code Online (Sandbox Code Playgroud)
我试过了,$ paste file1 file2 | awk '{$0 = $1 + $2}' > file2
但它所做的只是将数字从文件 1 复制到文件 2。
就地替换在awk
. 您可以使用sponge
frommoreutils
重写您读入的文件。
awk
- 逐行添加两个文件的方式
awk ' FNR==NR { a[NR]=$1 } FNR!=NR { print $1+a[FNR] }' file1 file2 | sponge file2
Run Code Online (Sandbox Code Playgroud)
更简单的非awk
方式,也支持浮点:
paste -d'+' file1 file2 | bc -l | sponge file2
Run Code Online (Sandbox Code Playgroud)
这两种方法都支持多行文件。