Embaralhando aleatoriamente vetores - array shuffle

Publicado por Osama Jr. 17/05/2009

[ Hits: 6.505 ]

Homepage: Não tenho

Download awk_shuffle




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!!!

  



Esconder código-fonte

#!/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)
}

Scripts recomendados

NMAP - Script que monitora portas que foram abertas e envia por email

Gerenciador usando Dialog

Instalador do Lazarus

Regra básica de firewall em shell

Pesquisar artigos no VOL


  

Comentários

Nenhum comentário foi encontrado.


Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts