Shuffle - Simples shell script que embaralha um array

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

[ Hits: 6.176 ]

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 listar tentativas de acessos

themepack2txz - Extrair arquivos themepack e criar um pacote TXZ com as imagens

Km/s --> M/s

SysInfo 2.1 (Informações do Sistema)

Script para captura de campos de formulário com conversão URL encode.


  

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