Shuf命令
时间:2020-03-21 11:47:25 来源:igfitidea点击:
Shuf命令用于在类似Unix的操作系统中生成随机排列。
使用shuf命令,我们可以随机调整给定输入文件的行。
Shuf命令是GNU Coreutils的一部分,因此我们不必费心安装。
在此教程中,让我向我们展示shuf命令的一些示例。
Shuf命令示例
我有一个名为theitroad.txt的文件,其中包含以下内容。
$cat theitroad.txt line1 line2 line3 line4 line5 line6 line7 line8 line9 line10
现在让我们以随机顺序显示以上几行。
为此,请运行:
$shuf theitroad.txt line2 line8 line5 line10 line7 line1 line4 line6 line9 line3
看到了吗?
上面的命令在名为“ theitroad.txt”的文件中随机排列行的顺序,并输出结果。
我们可能需要将输出写入另一个文件。
例如,我想将输出保存在名为output.txt的文件中。
为此,首先创建output.txt文件:
$touch output.txt
然后,使用-o标志将输出写入该文件,如下所示。
$shuf theitroad.txt -o output.txt
上面的命令将随机随机播放theitroad.txt文件的内容,并将输出写入output.txt文件。
我们可以使用以下命令查看output.txt文件的内容:
$cat output.txt line2 line8 line9 line10 line1 line3 line7 line6 line4 line5
我只想显示文件中的任意一行。
我该怎么做?
简单的!
$shuf -n 1 theitroad.txt line6
同样,我们可以选择前“ n”个随机条目。
以下命令将仅显示前五个随机条目。
$shuf -n 5 theitroad.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