Shuffle - Simples shell script que embaralha um array

Publicado por Roger (última atualização em 22/11/2010)

[ Hits: 5.555 ]

Download shuffle




Simples shell script que embaralha um array.

Exemplo de utilização:

$> vec=( a b c d e f g h )
$> echo ${vec[*]}
a b c d e f g h

$> vec2=( $(shuffle ${vec[*]}) )
$> echo ${vec2[*]}
g b a c e f h d


Funcionou para sh, acredito que também funcione em outros shells. O tamanho do array não pode exceder 32767 pelo uso de $RANDOM.

  



Esconder código-fonte

#! /usr/bin/sh

array=( $@ )
length=$(echo ${array[*]} | wc -w)
i=0
while [[ $i -lt $length ]]
do
  idx=$RANDOM%$length
  aux=${array[$i]}
  array[$i]=${array[$idx]}
  array[$idx]=$aux
  i=$((i+1))
done
echo ${array[*]}

Scripts recomendados

mp3traduz

DefaultApps

Controle de banda com HTB

Comando Executar Gerenciadores leves

Remover arquivos


  

Comentários

Nenhum comentário foi encontrado.


Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts