给初学者看的shuf命令教程

shuf 命令用于在类 Unix 操作系统中生成随机排列。使用 shuf 命令,我们可以随机打乱给定
首页 新闻资讯 行业资讯 给初学者看的shuf命令教程

[[229194]] 

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

带例子的 shuf 命令教程

我有一个名为 ostechnix.txt 的文件,内容如下:

复制


$ cat ostechnix.txtline1line2line3line4line5line6line7line8line9line10

  • 1.

  • 2.

  • 3.

  • 4.

  • 5.

  • 6.

  • 7.

  • 8.

  • 9.

  • 10.

  • 11.

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

复制


$ shuf ostechnix.txtline2line8line5line10line7line1line4line6line9line3

  • 1.

  • 2.

  • 3.

  • 4.

  • 5.

  • 6.

  • 7.

  • 8.

  • 9.

  • 10.

  • 11.

看到了吗?上面的命令将名为 ostechnix.txt 中的行随机排列并输出了结果。

你可能想将输出写入另一个文件。例如,我想将输出保存到 output.txt 中。为此,请先创建 output.txt

复制


$ touch output.txt

  • 1.

然后,像下面使用 -o 标志将输出写入该文件:

复制


$ shuf ostechnix.txt -o output.txt

  • 1.

上面的命令将随机随机打乱 ostechnix.txt 的内容并将输出写入 output.txt。你可以使用命令查看 output.txt 的内容:

复制


$ cat output.txt line2line8line9line10line1line3line7line6line4line5

  • 1.

  • 2.

  • 3.

  • 4.

  • 5.

  • 6.

  • 7.

  • 8.

  • 9.

  • 10.

  • 11.

  • 12.

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

复制


$ shuf -n 1 ostechnix.txtline6

  • 1.

  • 2.

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

复制


$ shuf -n 5 ostechnix.txtline10line4line5line9line3

  • 1.

  • 2.

  • 3.

  • 4.

  • 5.

  • 6.

如下所示,我们可以直接使用 -e 标志传入输入,而不是从文件中读取行:

复制


$ shuf -e line1 line2 line3 line4 line5line1line3line5line4line2

  • 1.

  • 2.

  • 3.

  • 4.

  • 5.

  • 6.

你也可以传入数字:

复制


$ shuf -e 1 2 3 4 535142

  • 1.

  • 2.

  • 3.

  • 4.

  • 5.

  • 6.

要快速在给定范围选择一个,请改用此命令:

复制


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

  • 1.

或者,选择下面的任意三个随机数字:

复制


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

  • 1.

  • 2.

  • 3.

  • 4.

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

复制


$ shuf -i 1-1019824763105

  • 1.

  • 2.

  • 3.

  • 4.

  • 5.

  • 6.

  • 7.

  • 8.

  • 9.

  • 10.

  • 11.

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

复制


$ man shuf

  • 1.

 

今天就是这些。还有更多更好的东西。敬请关注!

20    2018-05-14 08:53:51    Linux 命令 shuf