昨天看了序列君,產生序列.
那若是要打亂呢?
也就是俗稱的洗牌.
我們可以使用 shuf
shuf的名稱來源是 shuffle,洗牌之意.
例如:
λ shuf -e clubs diamonds spades hearts
spades
diamonds
hearts
clubs
可以搭配 seq 將seq產生的序列,洗牌處理.
λ seq 10 | shuf
7
9
8
5
3
10
4
1
6
2
一般可以用來將檔案透過shuf洗牌後轉向產生新的檔案.
shuf -i 參數可以指定產生數字範圍.
例如這樣可以從49個數字中產生6個,最後依序輸出.
λ echo $(shuf -i 1-49 -n6 | sort -n)
9 16 17 44 46 47
參數 -n 代表產生數量
應用範例:
從系統字典檔裡,隨機挑5個字出來.
λ echo $(cat /usr/share/dict/words | shuf -n 5)
gastraea Lagenaria prorogator jealous field-work