我正在尝试查找数字倒数列表的总和。为了说明我正在尝试做的事情,这是一个基本示例:
带有文件:
1
2
3
4
我将尝试找到1/1
,1/2
,1/3
和1/4
的总和。有没有简单的bash
单线代码可以做到这一点? (我是bash
的新手,所以欢迎您进行解释!)
答案 0 :(得分:1)
您可以执行以下操作:
sed 's|^|1/|' file | paste -sd+ | bc -l
sed 's|^|1/|'
在每一行前加上1/
paste -sd+
用加号将所有行连接起来,创建算术表达式1/1+1/2+1/3+1/4
bc -l
计算该算术表达式并输出结果答案 1 :(得分:0)
如果您正在寻找算术级数,则可以使用k
命令使用此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
循环中,它将for
变量设置为新值d
,该值传递给执行算术的$d + 1/$c
命令bc -l
命令输出值