Shuffle - Simples shell script que embaralha um array
Publicado por Roger (última atualização em 22/11/2010)
[ Hits: 6.001 ]
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.
#! /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[*]}
Compilação automática do kernel Linux-libre 3.14.16
Ajustando resolução do monitor
Cotação de ações da BM&FBOVESPA no bash com Dialog
Inicializando os serviços de OmniBus
Nenhum comentário foi encontrado.
IA Turbina o Desktop Linux enquanto distros renovam forças
Como extrair chaves TOTP 2FA a partir de QRCODE (Google Authenticator)
Linux em 2025: Segurança prática para o usuário
Desktop Linux em alta: novos apps, distros e privacidade marcam o sábado
IA chega ao desktop e impulsiona produtividade no mundo Linux
Atualizando o Fedora 42 para 43
Como saber se o seu e-mail já teve a senha vazada?
Como descobrir se a sua senha já foi vazada na internet?
Preciso recuperar videos *.mp4 corrompidos (2)
Secure boot, artigo interessante, nada técnico. (1)
\Boot sem espaço em disco (Fedora KDE Plasma 42) (6)









