我在 posix 腳本中有一個包含幾個單詞的字串:
mystr="word1 word2 word3"
我想隨機選擇一個詞。所以我最終做了:
echo "$mystr" | cut -d " " -f "$(shuf -i 1-"$(echo "$mystr" | wc -w)" -n 1)"
雖然這看起來很丑。有沒有更好的做法?
uj5u.com熱心網友回復:
下面介紹如何使用 awk 將字串拆分為陣列,然后列印該陣列的隨機元素。
echo "word1 word2 word3" |
awk 'BEGIN { srand() }
{ split($0,a); print a[1 int(rand()*length(a))] }'
在busybox上測驗過,但應該可以在任何POSIX系統上作業。
轉載請註明出處,本文鏈接:https://www.uj5u.com/caozuo/399248.html
