Linux系统中nohup和&(ampersand)的区别是什么?


Linux 提供了不同的实用程序命令,我们可以使用这些命令从 Unix 命令行中的任何文件中打印随机行。大多数情况下,我们使用 **shuf** 命令或 **sort** 命令,在这篇文章中,我将解释这两个命令,以及哪个更好以及为什么。

Shuf 命令

Linux 中的 shuf 命令用于将输入行的随机排列写入标准输出。随机化输入的想法与洗牌时一样。在大多数 Linux 操作系统中,它默认存在,因为它属于 GNU **Coreutils** 的一部分,而在类似 BSD 的 Mac OS X 中,我们需要先显式安装 **Coreutils**,然后才能使用它。

语法

shuf [OPTION] [FILE]

在 Mac OS X 上,语法如下:

gshuf [OPTION] [FILE]

最基本的 shuf 命令使用方法是不使用任何选项和文件。

示例

请考虑以下示例:

immukul@192 d1 % gshuf
apple
sample
orange

现在按 CTRL+D,您将看到输入以随机顺序打印到屏幕上。

输出

sample
apple
orange

现在让我们使用 **shuf/gshuf** 命令从 .txt 文件中打印随机一行。

请考虑以下示例

示例

gshuf -n 1 file.txt

输出

unsalutary

如果我再次运行相同的命令,我们将得到不同的输出。

输出

typhlopexia

Sort 命令

Linux 中的 **sort** 命令用于对文件内容进行排序,我们可以将 head 命令与 sort 命令一起使用以从 .txt 文件中获取随机行。

请考虑以下示例:

示例

sort --random-sort file.txt | head -n 1

输出

podiatry

需要注意的是,最好使用 **gshuf** 命令,因为 sort 命令通常需要更多时间。

更新于:2021年7月31日

311 次浏览

开启你的职业生涯

完成课程获得认证

开始学习
广告