zsh: Gerando uma sequência de números pseudo-aleatórios sem repetição
Publicado por Sandro Marcell 24/02/2009
[ Hits: 10.753 ]
Homepage: http://sanmarcell.wordpress.com
Simples Z shell script que atráves do uso de vetores, gera uma sequência de números pseudo-aleatórios sem repetição de valores.
#!/bin/zsh -f # # Simples (bem simples mesmo!) gerador de numeros pseudo-aleatorios # sem repeticao de valores. # # Sandro Marcell (sandro_marcell@yahoo.com.br) # Boa Vista, Roraima - 17/02/2009 # # Obs.: # - O script gera valores na faixa de 1~VALOR_MAXIMO; # - Com uma simples alteracao, e possivel fazer com que este script # embaralhe os elementos de um vetor ;) # - O formatador de saida 'printf' esta operando com valores na casa # das centenas (%-4s), para utiliza-lo na casa dos milhares,va # adicionando 1 ao valor de formatacao; # - Script passivel de melhorias! zmodload -i zsh/mathfunc seed=$$ # Vetor contendo a faixa de valores utilizados para geracao da sequencia typeset -a array array=({1..100}) # Quantidade de interacoes a realizar: loop=10 for ((i = 0 ; i < loop ; i++)) do # Gera-se um valor com base na quantidade de elementos do vetor. # Esse valor sera o indice a ser utilizado para referenciar # elementos no vetor: index=$((1 + int(${(w)#array} * rand48(seed)))) # Com o valor em maos, basta utiliza-lo como indice para buscar # o elemento referenciado por ele no vetor e imprimir esse elemento # na tela: # print -n "$array[$index] " printf "%-4s" $array[$index] # E para evitar que o valor impresso seja reutilizado, basta # remove-lo do vetor! array[$index]=() done print "" # Fim
Adicionar sites para serem bloqueados pelo squid
rc.squid start|stop|restart Servidor Proxy
tux-gpt - Assistente de IA para o Terminal
Instalação e configuração do Chrony
Programa IRPF - Guia de Instalação e Resolução de alguns Problemas
Instalando o Team Viewer no Debian Trixie - problema no Policykit
O Que Fazer Após Instalar Ubuntu 25.04
O Que Fazer Após Instalar Fedora 42
Debian 12 -- Errata - Correções de segurança
Instalando o Pi-Hole versão v5.18.4 depois do lançamento da versão v6.0
Meu PC perde o boot de várias distros Linux após ficar desligado (2)
Pra quem contribui com artigos e dicas (4)
Alguém poderia me ajudar a escolher peças pra montar um desktop? (25)