我有一个只包含 2 个数字的文件。电子线上的一个号码。
4.1865E+02
4.1766E+02
我知道它的内容 BHF = ($1 from line 1 - $1 from line 2) 但可以找到确切的命令。
如何对它们进行数学运算并将结果保存到变量中。
PS:这是用
sed -i -e '/^$/d' nodout15
sed -i -e 's/^[ \t]*//;s/[ \t]*$//' nodout15
awk ' {print $13} ' nodout15 > 15
mv 15 nodout15
sed -i -e '/^$/d' nodout15
sed -i -e 's/^[ \t]*//;s/[ \t]*$//' nodout15
sed -n '/^[0-9]\{1\}/p' nodout15 > 15
mv 15 nodout15
tail -2 nodout15 > 15
mv 15 nodout15
毕竟我有这两个数字,但现在我无法做一些算术运算。如果可能的话,请告诉我一个简短的表格来当场做,而不是做所有这些杂耍。 Nodout 是一个具有不同列长度的文件,所以我只对第 13 列感兴趣。由于所有行都不会出现在子文件中,因此删除了空行。然后只有那些以数字开头的行。然后是最后两行,因为它们显示了最终状态。它们之间的差异,将导致一个条件语句。所以我需要将它保存在一个变量中。
问候。
最佳答案
awk
$ BHF=`awk -v RS='' '{print $1-$2}' input.txt`
$ echo $BHF
0.99
公元前
$ BHF=`cat input.txt | xargs printf '%f-%f\n' | bc`
$ echo $BHF
.990000
关于linux - 如何在第一个字段上操作数学数据并分配变量 linux,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9499094/