Embaralhando aleatoriamente vetores - array shuffle
Publicado por Osama Jr. 17/05/2009
[ Hits: 7.208 ]
Homepage: Não tenho
Na verdade este não é um shell script, e sim um "Gawk script" para o GNU Awk. Fiz ele baseado nas idéias deste script:
http://www.slackbr.org/forum/viewtopic.php?f=45&t=17737
Ele embaralha aleatoriamente todos os elementos dum dado vetor. É bem simples...
Valeu!!!
#!/usr/bin/gawk -f
#
# Embaralhando aleatoriamente elementos de um vetor.
#
# Versão GNU Awk baseada neste script:
# http://www.slackbr.org/forum/viewtopic.php?f=45&t=17737
#
# Autor: /bin/laden - 05/05/2009.
#
# Mais detalhes: <man gawk> ou <www.google.com> =P
BEGIN {
srand()
# A função é executada passando-se como argumento os valores
# que serão embaralhados.
embaralhar("zero um dois três quatro cinco seis sete oito nove")
}
function embaralhar(valores) {
split(valores, vetor)
tamanho_vetor = length(vetor)
do {
indice = 1 + int(rand() * tamanho_vetor)
if (indice in vetor) {
print(vetor[indice])
delete vetor[indice]
contador++
}
} while (contador < tamanho_vetor)
return(0)
}
Instalando e configurando Postgres com Dialog
Array de números aleatórios não-repetidos de um intervalo em Shellscript (Bashscript)
Nenhum comentário foi encontrado.
O Journal no Linux para a guarda e consulta de logs do sistema
A evolução do Linux e as mudanças que se fazem necessárias desde o seu lançamento
Maquina modesta - a vez dos navegadores ferrarem o usuario
Fscrypt: protegendo arquivos do seu usuário sem a lentidão padrão de criptograr o disco
Sway no Arch Linux: configuração Inicial sem enrolação
Resolvendo o bloqueio do Módulo Warsaw no Arch Linux (Porta 30900)
Continuando meus tópicos anteriores (1)
Saída de loop após teste de if. (2)
Governo da França vai trocar Windows por Linux (9)
Warsaw não é reconhecido no Google Chrome 147.0.7727.55 [RESOLVIDO] (9)









