gpt4 book ai didi

bash - 没有记号的边界之间规则间隔的数字

转载 作者:行者123 更新时间:2023-12-05 00:42:27 24 4
gpt4 key购买 nike

我想在 2 个 included 边界之间生成一个整数序列。我尝试使用 seq,但只能得到以下结果:

$ low=10
$ high=100
$ n=8
$ seq $low $(( (high-low) / (n-1) )) $high
10
22
34
46
58
70
82
94

如您所见,100 不包含在序列中。

我知道我可以使用 jot 得到类似的东西:

$ jot 8 10 100
10
23
36
49
61
74
87
100

但是我使用的服务器没有安装jot,我也没有安装权限。

有没有一种简单的方法可以在没有 jot 的情况下重现这种行为?

最佳答案

如果您不介意启动一个额外的进程 (bc) 并且该机器上可用,您也可以这样做:

$ seq -f'%.f' 10 $(bc <<<'scale=2; (100 - 10) / 7') 100
10
23
36
49
61
74
87
100

或者,以 oguz ismail's idea 为基础(但使用小数点后 4 位的精度):

$ declare -i low=10
$ declare -i high=100
$ declare -i n=8
$ declare incr=$(( (${high}0000 - ${low}0000) / (n - 1) ))
$
$ incr=${incr::-4}.${incr: -4}
$
$ seq -f'%.f' "$low" "$incr" "$high"
10
23
36
49
61
74
87
100

关于bash - 没有记号的边界之间规则间隔的数字,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/73783191/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com