[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Sorteador automatico
From: |
laerte |
Subject: |
Sorteador automatico |
Date: |
Sat, 5 Jun 2004 20:07:20 -0300 |
User-agent: |
KMail/1.5 |
pessoal;
Aqui no trabalho os pessoal usava uma funcao no excel para gerar numeros
aleatorio, achei que seria interessante fazer um script para gerar isso, com
a ajuda os super pacote de scripts fiz um pequeno script que pega uma lista
de pessoas em relacao.txt e faz o sorteio, deem uma olhada e quem sabe
melhore..
################inicio
#!/bin/bash
#.....................................................................
function zera {
echo > vencedores.txt
dialog --backtitle "$BACKTITLE" \
--cr-wrap \
--title 'Mensagem' \
--msgbox "Lista de vencedores apaguada!" \
06 45
}
#.....................................................................
function sorteio {
min=1
max=`cat relacao.txt | wc -l`
resultado=$[$min+($RANDOM*($max-$min+1)-1)/32767]
sortudo=$(sed -n $resultado'p' relacao.txt)
echo $sortudo > sorte.txt
echo $sortudo >> vencedores.txt
.....................................................................
(echo 33 ; sleep 1
echo 66 ; sleep 1
echo 100) |
dialog --backtitle "$BACKTITLE" \
--title 'Fazendo o sorteio' \
--gauge 'sorteando, aguarde...' \
8 40 0
#.....................................................................
dialog --backtitle "$BACKTITLE" \
--title 'Vencedor' \
--tailbox sorte.txt \
20 65 &&
#.....................................................................
cat vencedores.txt | sort -u > vencedores1.txt
cp -f vencedores1.txt vencedores.txt
rm -rf vencedores1.txt
}
#.....................................................................
function vence {
dialog --backtitle "$BACKTITLE" \
--title 'Vencedores' \
--tailbox vencedores.txt \
20 65
}
#.....................................................................
function jogadores {
dialog --backtitle "$BACKTITLE" \
--title 'Vencedor' \
--tailbox relacao.txt \
20 65
}
#.....................................................................
BACKTITLE='Sorteador de Premios'
INTRO='
Bem-Vindo(a) ao Super Sorteador!
Este Script faz o sorteio de premios baseado em
uma lista de participantes
Csirt - BB'
#.....................................................................
dialog --backtitle "$BACKTITLE" \
--cr-wrap \
--title 'Mensagem' \
--msgbox "$INTRO" \
17 55 &&
#.....................................................................
dialog --backtitle "$BACKTITLE" \
--title 'Mensagem' \
--yesno '
\n\nUse as setas do teclado, ou a tecla TAB para
alternar entre os botoes.
\n\nVoce quer continuar?' \
0 0 &&
while : ; do
resposta=$(
dialog --stdout \
--title 'Menu Sorteador' \
--menu 'Escolha o que voce quer fazer:' \
0 0 0 \
1 'Fazer o sorteio' \
2 'Ver a lista dos vencedores' \
3 'Ver a lista dos jogadores' \
4 'Zerar a lista de vencedores' \
0 'Sair' )
# Ela apertou CANCELAR ou ESC, então vamos sair...
[ $? -ne 0 ] && break
# De acordo com a opção escolhida, dispara programas
case "$resposta" in
1) sorteio ;;
2) vence ;;
3) jogadores ;;
4) zera ;;
0) break ;;
esac
done
##################fim