Sorteio
Publicado por Raimundo Alves Portela (última atualização em 09/11/2012)
[ Hits: 13.512 ]
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
Assitente de conexão Wireless - KDialog
Script para média anual de aluno
Pós-instalação do openSUSE Tumbleweed
Mover arquivos conforme nomenclatura
Renomear seu pendrive (Debian)
Gentoo: detectando impressoras de rede e como fixar uma impressora por IP
Como o GNOME conseguiu o feito de ser preterido por outras interfaces gráficas
Gentoo binário em 2026: UEFI, LUKS, Btrfs e Systemd
Trabalhando Nativamente com Logs no Linux
Jogando Daikatana (Steam) com Patch 1.3 via Luxtorpeda no Linux
Por que sua empresa precisa de uma PKI (e como automatizar EMISSÕES de certificados via Web API)
Instalando NoMachine no Gentoo com Systemd (acesso Remoto em LAN)
Gentoo: Trocando wpa_supplicant pelo iwd no NetworkManager (Systemd)
O que houve com slackware ??? (12)
Alterar conteúdo de dica [RESOLVIDO] (3)
Vou destruir sua infância:) (5)









