iT邦幫忙

DAY 6
2

蠻可愛的指令與程式系列 第 6

洗牌王子

  • 分享至 

  • xImage
  •  

昨天看了序列君,產生序列.
那若是要打亂呢?
也就是俗稱的洗牌.

我們可以使用 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

上一篇
序列君
下一篇
變化多端的 tr
系列文
蠻可愛的指令與程式30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言