Pular para o conteúdo

Embaralhando aleatoriamente vetores - array 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!!!
Osama Jr. /bin/laden
Hits: 7.226 Categoria: Shell Script Subcategoria: Introdução
  • Download
  • Nova versão
  • Indicar
  • Denunciar

Descrição

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!!!
Download awk_shuffle Enviar nova versão

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)
}

System Software 2.0 - Instale e remova repositórios e programas de forma simples

Agenda telefônica em Shell Script

SPEEDY: Adicionando DNS no Resolv.conf

Telegram Installer

Backup comprimido de banco de dados PostgreSQL

Nenhum comentário foi encontrado.

Contribuir com comentário

Entre na sua conta para comentar.