gzyueqian
13352868059

给初学者学习在类嵌入式 Unix 操作系统里面生成随机排列中 shuf 的命令教程

更新时间: 2018-09-16 09:00:00来源: 嵌入式Unix操作系统浏览量:4547

    这次给大家带来的是shuf 命令教程,shuf 命令用于在类 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 中的行随机排列并输出了结果。
    你可能想将输出写入另一个文件。例如,我想将输出保存到 output.txt 中。为此,请先创建 output.txt:

    $ touch output.txt

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

    $ 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

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

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

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

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

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

    $ shuf -i 1-10

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

    $ man shuf
    想要学习更多的IT技能那就加入我们吧,粤嵌科技创始于2005年,拥有“牛”全面的IT师资教育团队和“新”全的IT培训课程体系,只为了打造“牛”的你。欢迎咨询

免费预约试听课