将单个值从文件复制到变量并对其执行算术?

将单个值从文件复制到变量并对其执行算术?

假设我们有一个像“abc.txt”这样的文件,它有一个值123456,而文件“xyz.txt”也有一个像 的单个值654321。我想将文件中的这些值存储到一些 shell 变量中,例如abc = 123456和 ,xyz = 654321并且想要执行一些操作,例如density=$abc/$xyz.我能够将文件中的内容传输到变量,但它不会将 shell 变量的内容视为我们可以进行算术运算的数字。为此可以做什么?

如何在 bash 或其他语言/框架中进行整数和浮点计算?链接帮助了各种算术方法,但没有告诉分配给变量的文件中的值是否适合算术?

答案1

如果您使用的是 Bash shell:

#!/bin/bash
abc=$(<abc.txt)
xyz=$(<xyz.txt)
density=$((abc / xyz))
echo "$density"

注意:输出将是0这样的,因为分子小于分母

答案2

Shell 算术仅是整数。用于bc

echo $var1/$var2 | bc -l

或者更简单的

bc -l <<< $var1/$var2

相关内容