Shuffle - Simples shell script que embaralha um array

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

[ Hits: 5.968 ]

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

Script para montar compartilhamento de uma estação Windows

Matar aplicativos

Manipular serviços no Runit (Void Linux)

Gunzipar arquivos com determinadas extensões

Renomear Volume Group


  

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