Sorteio
Publicado por Raimundo Alves Portela (última atualização em 09/11/2012)
[ Hits: 13.587 ]
Homepage: http://portelanet.com
Download 1352159995.sorteia (versão 3)
Download sorteio.sh (versão 2)
Este script serve para fazer um sorteio baseado num arquivo texto dos inscritos. Ele exclui o nome do sorteado da lista de inscritos, não permitindo termos ganhadores repetidos.
Autor: Raimundo Alves Portela Filho
rai3mb@gmail.com
Desenvolvido em : 09/04/2011
Versão 3 - Enviado por Raimundo Alves Portela em 05/11/2012
Changelog: - Melhora nas rotinas já implementadas
- Adicionado a opção de ver todos os sorteados
- Adicionado a opção de reiniciar tudo
Versão 2 - Enviado por Aécio dos Santos Pires em 30/10/2012
Changelog: #-------------------------------------------------------
# file: sorteio.sh
# comment: Este script serve para fazer um sorteio baseado num arquivo texto dos inscritos.
# Ele exclui o nome do sorteado da lista de inscritos, não permitindo termos ganhadores repetidos.
# author: Raimundo Alves Portela Filho
# date: 09-abr-2011
# revision: Aecio Pires
# Last updated: 29-out-2012, 15:30
#-------------------------------------------------------
Melhorias realizadas nesta versão:
* Melhoria no loop de execução;
* Melhoria no menu de opções;
* Melhoria na documentação e legibilidade do código;
* Melhoria na exibição das informações;
* Criação das opções de visualização da lista de inscritos e ganhadores;
* Criação das opções de ajuda e versionamento do script;
* Checagem dos requisitos ao funcionamento do script;
* Log da execução do sorteio.
#!/bin/bash # Este script serve para fazer um sorteio baseado num arquivo texto dos inscritos # Ele exclui o nome do sorteado da lista de inscritos, não permitindo termos ganhadores repetidos # Autor: Raimundo Alves Portela Filho # rai3mb@gmail.com # Desenvolvido em : 09/04/2011 # ------------------------------------------------------------------- while : do clear echo " ========================================================================== SCRIPT - PARA SORTEIO DE GANHADOR BASEADO NA LINHA DO ARQUIVO INCRITOS.TXT -------------------------------------------------------------------------- [ 1 ] - FAZER SORTEIO [ 2 ] - VER ULTIMO SORTEADO [ 99 ] - SAIR ========================================================================== DIGITE SUA OPÇÃO:" read OP test "$OP" = "1" || test "$OP" = "2" || test "$OP" = "99" if [ "$?" -eq 1 ]; then echo "ESTA OPÇÃO NÃO EXISTE" sleep 2 else break fi done case "$OP" in 1) ARQUIVO="inscritos.txt" test -f "$ARQUIVO" if [ "$?" -eq 1 ]; then echo "Não foi encontrado o arquivos 'inscritos.txt', que contém a lista dos inscritos" exit fi QTD_LINHAS=$(cat "$ARQUIVO" | wc -l) if [ "$QTD_LINHAS" -eq 0 ]; then echo "Não há registros no arquivo" exit fi LINHA=$[RANDOM%$QTD_LINHAS+1] GANHADOR=$(cat "$ARQUIVO" | head -n $LINHA | tail -n 1) sed -i /"$GANHADOR"/d "$ARQUIVO" echo "GANHADOR : $GANHADOR" echo "$GANHADOR" >> ganhadores.txt echo echo echo "PRESSIONE UMA TECLA PARA CONTINUAR!" read CONFIRM ./sorteia ;; 2) echo "O ÚLTIMO GANHADOR FOI:" ULT_LINHA=$(cat ganhadores.txt | wc -l) cat ganhadores.txt | head -n $ULT_LINHA | tail -n 1 echo echo echo "PRESSIONE UMA TECLA PARA CONTINUAR!" read CONFIRM ./sorteia ;; 99) echo "Saindo..." sleep 1 clear exit esac
Mostrando arquivos de forma diferente
executando um determinado comando em um horario escolhido
Números impares no intervalo entre 2 números
shell para matar logins aberto com o mesmo usuario
Faça suas próprias atualizações de pacotes/programas no Void Linux e torne-se um Contribuidor
Como rodar o Folding@home no Linux
Criando um painel de controle (Dashboard) para seu servidor com o Homepage
O Abismo entre o Código e o Chão: Saltos Tecnológicos e a Exclusão Estrutural no Brasil
Instalar e Configurar a santíssima trindade (PAP) no Void Linux
Pisando no acelerador do Linux Mint: Kernel XanMod, zRAM e Ajustes de Swap
Como compilar kernel no Linux Mint
Lançamento do Brutal DOOM test 6
Consertando o erro no Brave de webgl
Solução para ter de volta as bordas e barra de títulos das janelas em zenity no Debian 13.x
Seno, Coseno, Tangente em CLIPPER (0)
Inserir uma URL num arquvo pelo Ubuntu (CLIPPER) (0)
VMWare Player não conecta na rede nem consigo intercambiar arquivos (1)









