计算两个文件中的数字差异

veh*_*zzz 2 bash scripting awk sed

假设我有两个文件,每行有一个数字

File 1      file 2
0.12        0.11     
0.121       0.454 
....        .... 
Run Code Online (Sandbox Code Playgroud)

我想在屏幕上创建每个数字之间的文件或输出差异,以便结果如下

 0.0099
-0.333
 ......
Run Code Online (Sandbox Code Playgroud)

你可以使用bash/awk/sed

Dam*_*n R 10

以下显示了如何获取file1 - file2

$ cat file1
0.12
0.43
-0.333

$ cat file2
-0.1
-0.2
0.2

$ paste file1 file2 | awk '{print $1 - $2}'
0.22
0.63
-0.533
Run Code Online (Sandbox Code Playgroud)

  • 简直美极了! (2认同)

gho*_*g74 5

AWK

awk '{getline t<"file1"; print $0-t}' file2  #file2-file1
Run Code Online (Sandbox Code Playgroud)

说明:getline t <"file1"从中获取一行file1并将其值放入变量t.$0file2awk正在处理的当前记录.其余的只是减法并打印出结果.

巴什

exec 4<"file1"
while read -r line
do
    read -r s <&4
    echo "${line}-${s}" | bc
done <"file2"
exec >&4-
Run Code Online (Sandbox Code Playgroud)