Linux 上的 nohup 和与号 (&) 有什么区别?

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

Shuf 命令

Linux 中的 shuf 命令用于将输入行的随机排列写入标准输出。随机化输入的想法与洗牌时的想法相同。在大多数 Linux 操作系统上,它默认存在,因为它是 GNU Coreutils 的一部分,对于像 Mac OS X 这样的 BSD,我们需要先明确安装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

排序命令

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

考虑下面显示的例子 -

示例

sort --random-sortfile.txt| head -n 1
输出结果
podiatry

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