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 次瀏覽

開啟你的職業生涯

完成課程獲得認證

開始學習
廣告