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 命令通常需要更多时间。
广告