如何在bash中求倒数和?
我试图找到一系列数字的倒数之和。为了说明我要做的事情,下面是一个基本示例: 使用该文件:如何在bash中求倒数和?,bash,addition,Bash,Addition,我试图找到一系列数字的倒数之和。为了说明我要做的事情,下面是一个基本示例: 使用该文件: 1 2 3 4 我将试图找到1/1、1/2、1/3和1/4的总和。是否有一个简单的bash1行程序来实现这一点?(我是新来的bash,所以欢迎解释!)您可以这样做: sed 's|^|1/|' file | paste -sd+ | bc -l sed的| ^ | 1/|'在每一行前面加上1/ paste-sd+用加号连接所有行,创建一个算术表达式1/1+1/2+1/3+1/4 bc-l计
1
2
3
4
我将试图找到
1/1
、1/2
、1/3
和1/4
的总和。是否有一个简单的bash
1行程序来实现这一点?(我是新来的bash
,所以欢迎解释!)您可以这样做:
sed 's|^|1/|' file | paste -sd+ | bc -l
在每一行前面加上sed的| ^ | 1/|'
1/
用加号连接所有行,创建一个算术表达式paste-sd+
1/1+1/2+1/3+1/4
计算该算术表达式并输出结果bc-l
bash
一行程序,使用bc
命令
d=0; for c in {1..4}; do d=`echo "$d + 1/$c" | bc -l`; done; echo "$d"
其输出为1+0.5+0.3333+0.25
=
2.08333333333333333333
它的工作原理是
d
的变量设置为0
for
循环中,它将d
变量设置为传递给执行算术的bc-l
命令的新值$d+1/$c
echo
命令输出值这个问题在这里有一个答案:。你不能只用bash做浮点运算。它是如何工作的?我知道,但OP可能不知道。@choroba你是对的,补充说明:)@mickp-非常感谢!我没想到会那样做。