shell-script-pt
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [shell-script] mega sena shellscript


From: Paulo
Subject: Re: [shell-script] mega sena shellscript
Date: Sat, 11 May 2019 01:47:23 -0300
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:60.0) Gecko/20100101 Thunderbird/60.6.1

Olá cleiton, parece que a linha que atribui o valor de $jogos

jogos=`tail -n 23 d_megasc.htm | head -n 1 | sed 's/<td>//' | sed 's/<\/td>//'`

precisa de mais uma linha pra pegar o total de jogos, além disso
o primeiro sed precisa deletar mais caracteres:

tail -n 24 d_megasc.htm | head -n 1 | sed 's/<td[^>]\+>//' | sed 's/<\/td>//'

retorna 2149, é isso mesmo?

Não executei o script pra ver se isso resolve, mas deve resolver pelo menos
o erro da linha 37.

Abraços Paulo

On 10/05/2019 21:01, address@hidden [shell-script] wrote:
Boa noite amigos!


Bom assunto mega sena né, achei um script muito bacana na internet e quero aprender com ele e utiliza-lo para fazer meus jogos utilizando como base de informação as informações da mega sena.


ele não está trazendo o retorno como deveria, podem me dar uma ajuda ?


####RETORNO####


./mega.sh: line 37: [: <td: esperado expressão de número inteiro
Exibindo a frequencia dos numeros sorteado da Mega Sena
01 0  02 0  03 0  04 0  05 0  06 0  07 0  08 0  09 0  10 0
11 0  12 0  13 0  14 0  15 0  16 0  17 0  18 0  19 0  20 0
21 0  22 0  23 0  24 0  25 0  26 0  27 0  28 0  29 0  30 0
31 0  32 0  33 0  34 0  35 0  36 0  37 0  38 0  39 0  40 0
41 0  42 0  43 0  44 0  45 0  46 0  47 0  48 0  49 0  50 0
51 0  52 0  53 0  54 0  55 0  56 0  57 0  58 0  59 0  60 0

Os numeros mais sorteados sao:
Dezena Frequencia
   60        0
   59        0
   58        0
   57        0
   56        0
   55        0


Segue script abaixo:


#!/bin/bash
# Created in dez/26/2012 by address@hidden

# Baixa e descompacta
wget http://www1.caixa.gov.br/loterias/_arquivos/loterias/D_mgsasc.zip
unzip D_mgsasc.zip

# Apaga arquivos desnecessários
if [ -f D_mgsasc.zip ]
   then
     rm D_mgsasc.zip
fi

if [ -f T2.GIF ]
   then
     rm T2.GIF
fi

if [ -f /tmp/sena1.txt ]
   then
     rm /tmp/sena*.txt
fi

inicio=4 # Primeira linha da sequência do primeiro sorteio
fim=9 # Última linha da sequência do primeiro sorteio
contador=1 # Primeiro sorteio

# Necessário eliminar o Feed Line e Carriage Return editado pelo windows
tr -d '\r' < d_megasc.htm > $$
mv $$ d_megasc.htm

# Busca a quantidade de sorteios realizados
jogos=`tail -n 23 d_megasc.htm | head -n 1 | sed 's/<td>//' | sed 's/<\/td>//'`
echo $jogos sorteios realizados

# Loop que elimina as marcações HTML
while [ $contador -le $jogos ]
   do
     for i in `seq $inicio 1 $fim`
       do
         head -n $i d_megasc.htm | tail -n 1 | sed 's/<td>//g' | sed 
's/<\/td>//g'
       done
     let inicio=$inicio+21 # A cada 21 linhas uma nova sequência do sorteio
     let fim=$fim+21
     let contador=$contador+1
   done > /tmp/sena1.txt

echo Exibindo a frequencia dos numeros sorteado da Mega Sena
   for i in `seq 9`
     do
       printf "0$i `grep 0$i /tmp/sena1.txt | wc -l`  "
     done
   printf "10 `grep 10 /tmp/sena1.txt | wc -l` "
   printf "\n"

   inicio=11
   fim=20
   while [ $inicio -le 60 ] # Conta a frequencia dos 60 números da Mega Sena
   do
    for i in `seq $inicio 1 $fim`;
      do
        printf "$i `grep $i /tmp/sena1.txt | wc -l`  "
      done
      printf "\n"
      let inicio=$inicio+10
      let fim=$fim+10
   done

# Para efeito de tabulação, separa-se os números de 1 e 2 algarismos
for i in `seq 9`; do printf "0$i `grep 0$i /tmp/sena1.txt | wc -l`\n" ; done >> 
/tmp/sena2.txt
for i in `seq 10 1 60`; do printf "$i `grep $i /tmp/sena1.txt | wc -l`\n" ; done 
>> /tmp/sena2.txt

# Ordena de acordo com a frequencia sorteada
awk '{printf "%3s %3s\n",$2, $1}' /tmp/sena2.txt | sort -n | tail -n 6 > 
/tmp/sena3.txt

printf "\n"
echo Os numeros mais sorteados sao:
echo Dezena Frequencia

# Exibe as 6 dezenas mais frequentes (do maior para o menor)
for i in `seq 6`
   do
      tail -n $i /tmp/sena3.txt | head -n 1 | awk '{printf "%4s %8s\n",$2, $1}'
   done
if [ -f d_megasc.htm ]
   then
     rm d_megasc.htm
fi


--------------------------------------------------------------------------------------------------------------
Enviado por: address@hidden
--------------------------------------------------------------------------------------------------------------
Responder através da web


reply via email to

[Prev in Thread] Current Thread [Next in Thread]