如何在命令行中获取某个范围内的随机数?

如何在命令行中获取某个范围内的随机数?

我需要在一些 curl 命令中生成随机电话号码关于在命令行中获取随机数的线程,我想知道如何使用某个数字范围来做到这一点。那里的解决方案只是$((RANDOM % 4))因为用户需要生成 1-3 之间的随机数。

对于电话号码,我的随机数必须介于 1000000000 和 9999999999 之间。如何生成具有上限和下限的随机数?

谢谢你的帮助!

答案1

shuf -i 1-100 -n 1 # for range of 1-100 inclusively, output one line

或者在一般情况下

shuf -i LO-HI -n 1

LO用范围下限的整数替换,HI用范围上限的整数替换。

从名为以下内​​容的文件中随机挑选一个文件:

file0.jpg
file1.jpg
file2.jpg
file3.jpg

运行以下命令,输出从file0.jpg到file3.jpg的随机文件:

echo "file$(shuf -i 0-3 -n 1).jpg"

答案2

如果你想要一些更像电话号码的东西,你可能需要看看 perl 的字符串::随机模块,例如

$ perl -MString::Random=random_regex -E "say random_regex('\d{3}-\d{3}-\d{4}')"
694-959-9937

相关内容