我在
Bash中有一个数组,说它包含数字{1,2,3,4,5}.我想随机提取一些这些数字,这样相同的数字就不会被提取两次.
基本上,如果我想从数组中提取3个数字,我想要的结果如:{3,1}或{5,4}而不是{1,1,3}或{2,5,2} .
决定写一个答案,因为我找到了shuf的–input-range选项,结果很方便:
原文链接:https://www.f2er.com/bash/384477.htmlN=3 ARRAY=( zero one two three four five ) for index in $(shuf --input-range=0-$(( ${#ARRAY[*]} - 1 )) -n ${N}) do echo ${ARRAY[$index]} done