内容简介:使用 shuf 命令,我们可以随机打乱给定输入文件的行。
shuf
命令用于在类 Unix 操作系统中生成随机排列。使用 shuf
命令,我们可以随机打乱给定输入文件的行。shuf
命令是 GNU Coreutils 的一部分,因此你不必担心安装问题。在这个简短的教程中,让我向你展示一些 shuf
命令的例子。
带例子的 shuf 命令教程
我有一个名为 ostechnix.txt
的文件,内容如下:
1 2 3 4 5 6 7 8 9 10 11 12 |
$ cat ostechnix.txt line1 line2 line3 line4 line5 line6 line7 line8 line9 line10 |
现在让我们以随机顺序显示上面的行。为此,请运行:
1 2 3 4 5 6 7 8 9 10 11 12 |
$ shuf ostechnix.txt line2 line8 line5 line10 line7 line1 line4 line6 line9 line3 |
看到了吗?上面的命令将名为 ostechnix.txt
中的行随机排列并输出了结果。
你可能想将输出写入另一个文件。例如,我想将输出保存到 output.txt
中。为此,请先创建 output.txt
:
1 2 |
$ touch output.txt |
然后,像下面使用 -o
标志将输出写入该文件:
1 2 |
$ shuf ostechnix.txt -o output.txt |
上面的命令将随机随机打乱 ostechnix.txt
的内容并将输出写入 output.txt
。你可以使用命令查看 output.txt
的内容:
1 2 3 4 5 6 7 8 9 10 11 12 13 |
$ cat output.txt line2 line8 line9 line10 line1 line3 line7 line6 line4 line5 |
我只想显示文件中的任意一行。我该怎么做?很简单!
1 2 3 |
$ shuf -n 1 ostechnix.txt line6 |
同样,我们可以选择前 “n” 个随机条目。以下命令将只显示前五个随机条目:
1 2 3 4 5 6 7 |
$ shuf -n 5 ostechnix.txt line10 line4 line5 line9 line3 |
如下所示,我们可以直接使用 -e
标志传入输入,而不是从文件中读取行:
1 2 3 4 5 6 7 |
$ shuf -e line1 line2 line3 line4 line5 line1 line3 line5 line4 line2 |
你也可以传入数字:
1 2 3 4 5 6 7 |
$ shuf -e 1 2 3 4 5 3 5 1 4 2 |
要快速在给定范围选择一个,请改用此命令:
1 2 |
$ shuf -n 1 -e 1 2 3 4 5 |
或者,选择下面的任意三个随机数字:
1 2 3 4 5 |
$ shuf -n 3 -e 1 2 3 4 5 3 5 1 |
我们也可以在特定范围内生成随机数。例如,要显示 1 到 10 之间的随机数,只需使用:
1 2 3 4 5 6 7 8 9 10 11 12 |
$ shuf -i 1-10 1 9 8 2 4 7 6 3 10 5 |
有关更多详细信息,请参阅手册页。
1 2 |
$ man shuf |
今天就是这些。还有更多更好的东西。敬请关注!
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持 码农网
猜你喜欢:本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。
编程的修炼(中英双语)
[荷]Edsger W. Dijkstra / 裘宗燕 / 电子工业出版社 / 2013-7 / 79.00元
本书是图灵奖获得者Edsger W. Dijkstra在编程领域里的经典著作中的经典。作者基于其敏锐的洞察力和长期的实际编程经验,对基本顺序程序的描述和开发中的许多关键问题做了独到的总结和开发。书中讨论了顺序程序的本质特征、程序描述和对程序行为(正确性)的推理,并通过一系列从简单到复杂的程序的思考和开发范例,阐释了基于严格的逻辑推理开发正确可靠程序的过程。 本书写于20世纪70年代中后期,但......一起来看看 《编程的修炼(中英双语)》 这本书的介绍吧!