Почему загрузка идет медленно?

Обычный способ перемешать список - это перебрать элементы и поменять местами на другой элемент в случайном порядке.

#! /bin/bash -
list=(1 2 3 4 5 6 7 8 9 0)
random_list=("${list[@]}")
n=${#random_list[@]}
for ((i = 0; i < n; i++)); do
  (( r = RANDOM % n ))
  tmp=${random_list[i]}
  random_list[i]=${random_list[r]}
  random_list[r]=$tmp
done
printf '%s\n' "${random_list[@]}" > generated.txt

Сказав это, FreeBSD sort имеет параметр -R для случайной сортировки, я был бы удивлен, если бы сортировка в OS / X этого не сделала, поэтому вы должны иметь возможность do (при условии, что элементы массива не содержат символов новой строки):

printf '%s\n' "${list[@]}" | sort -R > generated.txt
4
16.03.2016, 08:52
0 ответов

Теги

Похожие вопросы