Sorteio
Publicado por Raimundo Alves Portela (última atualização em 09/11/2012)
[ Hits: 12.978 ]
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
Dexter versão 2.0 - Instalador de pacotes para Sabayon
Renomear todos os arquivos com uma determinada caracteristica
Trocar senha de usuário via SSH
Compartilhando a tela do Computador no Celular via Deskreen
Como Configurar um Túnel SSH Reverso para Acessar Sua Máquina Local a Partir de uma Máquina Remota
Configuração para desligamento automatizado de Computadores em um Ambiente Comercial
Efeito "livro" em arquivos PDF
Como resolver o erro no CUPS: Unable to get list of printer drivers
Flatpak: remover runtimes não usados e pacotes
Mudar o gerenciador de login (GDM para SDDM e vice-versa) - parte 2
Como atualizar o Debian 8 para o 10 (10)
Dica sobre iptables ACCEPT e DROP (6)
NGNIX - Aplicar SNAT para evitar roteamento assimetrico (29)
[Python] Automação de scan de vulnerabilidades
[Python] Script para analise de superficie de ataque
[Shell Script] Novo script para redimensionar, rotacionar, converter e espelhar arquivos de imagem
[Shell Script] Iniciador de DOOM (DSDA-DOOM, Doom Retro ou Woof!)
[Shell Script] Script para adicionar bordas às imagens de uma pasta