linux - 在 shell 脚本中将字符串转换为十进制并计算

标签 linux shell scripting

我是 shell 脚本的新手。我的输入文件如下所示:

1.54
3.235
.7

我读了这个文件,因为每一行都变成了一个变量。

ONE=`sed -n '1p' file`;
TWO=`sed -n '2p' file`;
THREE=`sed -n '3p' file`;

现在,我需要对这些变量进行一些计算(如乘法、除法等)。 任何人都请指教。

最佳答案

bash 不支持浮点运算(仅整数运算)。您需要将操作传递给 bc 之类的工具。

例如:

DIV=$(echo "scale=3; $ONE/$TWO" | bc)
echo $DIV

MUL=$(echo "scale=3; $ONE/$DIV" | bc)
echo $MUL

关于linux - 在 shell 脚本中将字符串转换为十进制并计算,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44498437/

相关文章:

linux - 运行 Rsync 命令的问题

linux - 如何递归列出文件夹中的文件?

linux - 列出名称中包含空格的所有目录

python - 如何更新 $PATH

c - 声明一个具有赋值的指针

linux - 我可以验证该文件是否存在于 shell 脚本中的位置吗?

linux - 参数未传递给 shell 脚本 copyfile.sh : 1: copyfile. sh: [d: 未找到

unix - 在 UNIX shell 脚本中将十进制转换为十六进制

c# - Unity 中其他脚本中的变量

javascript - jQuery ajax 函数返回