相关疑难解决方法(0)

如何随机化seq的输出?

我知道我可以seq用来生成一个随机的数字列表:1, 2, 3, 4 ...

我想把这些数字变成一个随机的顺序,比如 3、1、4、2……

我知道我可以shuf用来打乱文件的行。所以我可以seq用来将随机数写入一个文件,然后用来shuf对它们进行混洗——或者编写某种混洗函数。但这似乎不必要地复杂。有没有更简单的方法来使用单个命令随机化数组中的项目?

command-line seq

11
推荐指数
1
解决办法
6368
查看次数

链接在一起的两个范围之间的随机数输出

这个问题是关于在一个范围内生成随机数,这很好,但不适合我的情况。

\n

我将用 SQL 术语进行解释,因为在我看来,这更容易理解,尽管问题是关于bash. 我的想法是用代码的结果bash构建一个SQL脚本。

\n

我有两张 MySQL 表,一张是people,一张是places。每条记录都有一个唯一的整数 ID,范围为 1 到 139(地点)和 1 到 1519(人)。它们通过外键相互联系,意思是:一个地方可以有很多人,但一个人只能有一个地方。

\n
# 1-139  # 1-1519\nplace1 \xe2\x86\x92 person1\n       \xe2\x86\x92 person2\n       \xe2\x86\x92 person3\n       ... and so on\n
Run Code Online (Sandbox Code Playgroud)\n

我现在掌握的数据是,在一个地方所有的人都有联系,而其他地方没有任何联系。

\n

名额有139个,人数有1519人,所以我有1个名额,有1519人。

\n

我的目标是将人员随机分配到各个地方,并且每个地方至少有一个人。

\n

到目前为止我的代码是这样的:

\n
$ c=1519\n$ while [[ $c -ne 0 ]]; do \n    x=$((shuf -i 1-139 -n 1))\n    [[ $x -gt 139 ]] && continue\n    echo $x\n    (( c-- ))\n  done\n
Run Code Online (Sandbox Code Playgroud)\n

此代码生成 1-139 之间的 …

bash random numeric-data

4
推荐指数
2
解决办法
942
查看次数

需要随机数

我需要一个命令行脚本,它会生成一个 1 到 6 之间的随机整数。我使用 Ubuntu 和 bash。
几个月前我正在使用“bc”来解决这个问题,但从来没有让它完全工作。从那以后我就忘记我去了哪里。

我正在使用它来更改 crontab 脚本,以便它不会总是每 15 分钟运行一次,而是随机运行一次(15+-3 分钟)。IE。将 crontab 更改为每 12 分钟一次,然后在运行脚本之前在脚本中休眠 1-6 分钟(这基本上是一个用于检查网页状态的 wget)。

command-line bash random

3
推荐指数
1
解决办法
2790
查看次数

如何从命令的输出中选择一个随机元素?

如果我有类似的东西:

echo 1 2 3 4 5 6
Run Code Online (Sandbox Code Playgroud)

或者

echo man woman child
Run Code Online (Sandbox Code Playgroud)

我必须在管子后面放什么才能挑出1 2 3 4 5 6或 的一个元素man woman child

echo 1 2 3 4 5 6 | command
3
Run Code Online (Sandbox Code Playgroud)

command-line random

3
推荐指数
1
解决办法
6644
查看次数

标签 统计

command-line ×3

random ×3

bash ×2

numeric-data ×1

seq ×1