zsh: Gerando uma sequência de números pseudo-aleatórios sem repetição
Publicado por Sandro Marcell 24/02/2009
[ Hits: 10.781 ]
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
script para trabalhar com disquetes no linux
Renomear todos os arquivos com uma determinada caracteristica
buscar textos que contenham várias strings
Script para manutenção de um servidor asterisk
Atualizando o Passado: Linux no Lenovo G460 em 2025
aaPanel - Um Painel de Hospedagem Gratuito e Poderoso
O macete do Warsaw no Linux Mint e cia
Visualizar arquivos em formato markdown (ex.: README.md) pelo terminal
Dando - teoricamente - um gás no Gnome-Shell do Arch Linux
Como instalar o Google Cloud CLI no Ubuntu/Debian
Mantenha seu Sistema Leve e Rápido com a Limpeza do APT!
Procurando vídeos de YouTube pelo terminal e assistindo via mpv (2025)
O 1º artigo a gente nunca esquece (1)
Pastas da raiz foram para a área de trabalho [RESOLVIDO] (9)
Problema ao atualizar archlinux nvidia [RESOLVIDO] (3)