Gerando cadeias aleatórias

Publicado por Sandro Marcell 29/09/2008

[ Hits: 6.048 ]

Homepage: http://sanmarcell.wordpress.com

Download cadeia.sh




Simples script (em zsh) que gera cadeias utilizando letras, números, sinais, etc... de forma aleatória.  Exemplos:

% ./script.sh 5
!sl[g

% ./script.sh 15
~^VnP_FVWeig51g

% ./script.sh 30
k8_aS@*R:EI2k2B_$g5ymMDSXaiQ*q

  



Esconder código-fonte

#!/bin/zsh -f
#
# Gerando cadeias aleatorias.
# Sandro Marcell (sandro_marcell@yahoo.com.br)
#
# Uso: <script.sh> ou <script.sh [valor]>
#
# Onde:
# [valor] determinara a quantidade de caracteres que comporao a cadeia.
#
# Ex.:
# % ./script.sh 30
# xZ~c9r3VN@^c=ghWCm*NIt5t7AVsgO
#
# Obs.:
# - Somente numeros sao validos para a string [valor];
# - Caso [valor] nao seja especificado, o padrao assumido e 13;
# - Se [valor] possuir espacos ou quaisquer outros caracteres que nao
# sejam numeros, os mesmos serao removidos.

# Carregando modulo de funcoes matematicas:
zmodload -i zsh/mathfunc

# Removendo caracteres invalidos:
string="$argv"
valor=$(print ${string//[^0-9]/})

# Caracteres utilizados para gerar a cadeia:
cars="abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789!?:^~@#$%&*_+=[]/"

# Loop de controle:
for ((i=0 ; i < ${valor:-13} ; i++))
do
   # Gerando cadeia:
   rand=$((1 + ((int(${(c)#cars} * rand48(seed))) / (RAND_MAX + 1 ))))
   print -n "$cars[$rand]"
   unset rand
done
print ""
# Fim

Scripts recomendados

Pesquisar artigos no VOL

Instalar as bibliotecas do Cisco para versões 64 bits do Ubuntu

Script muito interessante

Instalador de programas essenciais para seu desktop Ubuntu 12.04

Script que mostra um menu e lista opções para o usuário...


  

Comentários
[1] Comentário enviado por removido em 01/10/2008 - 06:19h

Ótimo para o Brasil. Que surjam mais no RJ!

[2] Comentário enviado por SMarcell em 25/02/2009 - 17:31h

Versão atualizada: http://www.slackbr.org/forum/viewtopic.php?f=45&t=16455


Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts