带有初学者示例的 Shuf 命令教程

Shuf 命令用于在 Linux 和类 Unix 操作系统中生成随机排列。 使用 shuf 命令,我们可以随机打乱给定输入文件的行。 Shuf 命令是 GNU Coreutils 的一部分,因此您不必费心安装。 在这个简短的教程中,让我向您展示一些 shuf 命令的示例。

带有示例的 Shuf 命令教程

我有一个文件名为 ostechnix.txt 有以下内容。

$ cat ostechnix.txt  line1 line2 line3 line4 line5 line6 line7 line8 line9 line10

现在让我们以随机顺序显示上述行。 为此,请运行:

$ shuf ostechnix.txt  line2 line8 line5 line10 line7 line1 line4 line6 line9 line3

看? 上述命令将名为“ostechnix.txt”的文件中的行顺序随机化并输出结果。

您可能希望将输出写入另一个文件。 例如,我想将输出保存在一个名为 输出.txt. 为此,首先创建 output.txt 文件:

$ touch output.txt

然后,使用将输出写入该文件 -这 像下面这样的标志。

$ shuf ostechnix.txt -o output.txt

上述命令将随机打乱 ostechnix.txt 文件的内容,并将输出写入 output.txt 文件。 您可以使用以下命令查看 output.txt 文件内容:

$ cat output.txt  line2 line8 line9 line10 line1 line3 line7 line6 line4 line5

我只想显示文件中的任意一行。 我该怎么做? 简单的!

$ shuf -n 1 ostechnix.txt  line6

同样,我们可以选择前“n”个随机条目。 以下命令将仅显示前五个随机条目。

$ shuf -n 5 ostechnix.txt  line10 line4 line5 line9 line3

我们可以使用直接传递输入,而不是从文件中读取行 -e 像下面这样的标志。

$ shuf -e line1 line2 line3 line4 line5 line1 line3 line5 line4 line2

您也可以通过随机播放数字:

$ shuf -e 1 2 3 4 5 3 5 1 4 2

要从给定范围中快速选择任何一个,请改用此命令。

$ shuf -n 1 -e 1 2 3 4 5

或者,选择如下任意三个随机数。

$ shuf -n 3 -e 1 2 3 4 5 3 5 1

我们还可以生成特定范围内的随机数。 例如,要显示 1 到 10 之间的随机数,只需使用:

$ shuf -i 1-10 1 9 8 2 4 7 6 3 10 5

有关更多详细信息,请参阅手册页。

$ man shuf

CLILinuxLinux 命令shuf 命令