初学者进:最简单的shuf 命令教程,shuf教程用法: shuf [
初学者进:最简单的shuf 命令教程,shuf教程用法: shuf [
shuf:把输入行按随机顺序输出到标准输出。 用法: shuf [选项]... [文件] 或者: shuf -e [选项]... [参数]... 或者: shuf -i LO-HI [选项]... 常用参数: -e, --echo 将每个参数视为输入行 -i, --input-range=LO-HI 将LO 到HI 的每个数字视为输入行 -n, --head-count=行数 最多输出指定的行数 -o, --output=文件 将结果输出到指定文件而非标准输出 --random-source=文件 从指定文件获得随机比特 -z, --zero-terminated 以0 结束行而非新行 --help 显示此帮助信息并退出 --version 显示版本信息并退出 如果没有指定文件,或者文件为"-",则从标准输入读取。
带例子的 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
|
shuf 命令用于在类 Unix 操作系统中生成随机排列。使用 shuf 命令,我们可以随机打乱给定输入文件的行。shuf 命令是 GNU Coreutils 的一部分,因此你不必担心安装问题。在这个简短的教程中,让我向你展示一些 shuf 命令的例子。
评论暂时关闭