fge*_*tos 3 shell scripting awk bc dc
关于整数加单行,存在几种建议的 shell 脚本解决方案;
然而,仔细观察所选择的每个解决方案,都存在固有的局限性:
awk
那些会以任意精度和整数大小窒息(毕竟它的行为类似于 C)bc
宁愿对任意长的输入不满意: (sed 's/$/+\\/g';echo 0)|bc
了解可能存在跨平台的可移植性问题(参见 [1] [2]),这是不受欢迎的,是否有一个通用的解决方案,它在实用性和简洁性上都是赢家?
提示:SunOS 和 MacOSX 是可移植性成为问题的示例。
菲。dc
命令可以允许处理任意大的 2^n、整数或其他输入吗?
[1] awk
:https : //stackoverflow.com/a/450821/1574494或/sf/answers/1767151781/或在 awk 中打印长整数
[2] bc
: Bash 命令对一列数字求和
dc(1)
读取输入时求和的最佳解决方案:
$ jot 1000000 | sed '2,$s/$/+/;$s/$/p/' | dc
500000500000
Run Code Online (Sandbox Code Playgroud)