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 命令