Pular para o conteúdo

Shuffle - Simples shell script que embaralha um array

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.

Roger roger.willian
Hits: 6.217 Categoria: Shell Script Subcategoria: Miscelânea
  • Download
  • Nova versão
  • Indicar
  • Denunciar

Descrição

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.

Download shuffle Enviar nova versão

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[*]}

Zsmb - Script para configurar o Samba

getdnsrouter

Escrever números, datas, horas e outros por extenso

Relatórios do LightSquid por Grupos

Script pra instalar / atualizar o Postfix no Slackware

Nenhum comentário foi encontrado.

Contribuir com comentário

Entre na sua conta para comentar.