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 命令通常需要更多時間。
廣告