Linux shuf 命令新手教程(附实例)
在此页
- Linux shuf 命令
- Q1。如何使用 shuf 命令?
- Q2。如何限制输出的行数?
- Q3。如何允许在输出中重复行?
- Q4。如何让 shuf 将输入参数视为行?
- 结论
如果您曾经玩过纸牌游戏,您可能会知道洗牌这个词。有点难以想象,有一个 Linux 命令行工具可以精确地处理文件中的行。在本教程中,我们将使用一些易于理解的示例来讨论 shuf 命令的基础知识。
但在我们这样做之前,值得一提的是,这里的所有示例都已经在 Ubuntu 18.04 LTS 机器上进行了测试。
Linux shuf命令
Linux 中的 shuf 命令可让您生成随机排列。以下是它的语法:
shuf [OPTION]... [FILE]
以下是工具手册页对其的解释:
Write a random permutation of the input lines to standard output.
以下是一些 Q&A 风格的示例,它们可以让您更好地了解 shuf 命令的工作原理。
Q1。如何使用 shuf 命令?
基本用法非常简单。只需传递一个文件名作为输入。这是一个例子:
shuf test.txt
现在,test.txt 文件包含以下几行:
1
2
3
4
5
6
7
8
9
但是上面的 shuf 命令产生了以下输出:
3
4
6
5
1
8
2
7
9
所以你可以看到线条被打乱了。
Q2。如何限制输出的行数?
如果要限制 shuf 输出中的行数,请使用 -n 命令行选项,它要求您传递一个数字,表示您希望输出中的最大行数。
例如:
shuf -n 3 test.txt
上面的命令产生了以下输出:
6
4
9
Q3.如何允许在输出中重复行?
假设输入文件包含 9 行,但您希望 shuf 产生比输出中更多的行(使用上面讨论的 -n 选项)。这可以使用 -r 选项来完成。
-r, --repeat
output lines can be repeated
因此,如果您希望 shuf 在输出中产生 25 行,请运行以下命令:
shuf -r -n 25 test.txt
这是此命令产生的输出:
6
8
4
5
9
3
3
1
2
5
7
5
9
5
8
5
2
8
8
7
4
4
8
5
3
Q4.如何让 shuf 将输入参数视为行?
为此,请使用 -e 命令行选项。这是一个例子:
shuf -e 1 2 3 4 5 6 7 8 9
这是此命令产生的输出:
9
1
7
8
6
2
3
5
4
结论
同意,shuf 不是您每天都需要的那种工具,但是学习这个实用程序没有坏处,尤其是因为它的学习曲线并不那么陡峭。练习完我们在这里讨论的内容后,请前往工具手册页了解更多信息。