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)
AWK
awk '{getline t<"file1"; print $0-t}' file2 #file2-file1
Run Code Online (Sandbox Code Playgroud)
说明:getline t <"file1"从中获取一行file1并将其值放入变量t.$0是file2awk正在处理的当前记录.其余的只是减法并打印出结果.
巴什
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)