[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [shell-script] Re: 1/2 OFF TOPIC Embaralhar sequência de números
From: |
Fernando Lemes da Silva |
Subject: |
Re: [shell-script] Re: 1/2 OFF TOPIC Embaralhar sequência de números |
Date: |
Thu, 14 Feb 2008 10:01:19 -0200 |
User-agent: |
KMail/1.9.6 |
Olá Cristiano... Acho que voce deveria conhecer o Asterisk, mas isso é
off-topic.. hehhehe
Seguinte.. uma maneira fácil de gerar os numeros aleatórios seria:
seq 1 999 | while read N; do echo -e "${RANDOM}\t${N}"; done | sort -n |
cut -f2
O que a brincadeira aí faz é gerar a sequencia (seq) e colocar um numero
randomico na frente. Depois se voce ordena o numero randomico (sort -n) a
sequencia passa a ficar aleatoria, então só tiramos o numero que colocamos a
mais (cut).
Agora a tarefa é verificar a existencia dos numeros próximos. Sugiro que
faça um outro loop para verificar a diferenca ou algo assim:
valorAnterior=-7
while read numeroAtual; do
if [$[${valorAnterior} - ${valorAtual}] -lt 7 -o
$[${valorAnterior} - ${valorAtual}] -gt -7]
then
echo "Removendo o ${valorAtual}" 1>&2
else
echo ${valorAtual}
fi
valorAnterior=${valorAtual}
done
Isso "removeria" os numeros proximos e depois voce poderia fazer alguma
coisa com eles... ou então gerar a sequencia de novo até que não tenha nenhum
numero nestas condições...
[]'s
--
0010111100101010010100110100100101000111
Fernando LEMES da Silva
www.koho.com.br (0x43fca35b)
0101001101001001010001110010101000101111
On Thursday 14 February 2008 8:01:46 am Cristiano Ferrari wrote:
> Salve mop...
> Então, não é pegadinha numérica, nem tarefa de casa. É necessidade
> real mesmo.
> Deixa eu explicar o problema. Adquirimos uma nova central telefônica
> que permite o cadastrado de um PIN para o usuário, para que ele fique
> liberado das restrições de acesso (ligação interurbana, celular, etc),
> que lhes será cobrado como uso particular.