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

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

Re: [shell-script-pt] [shell-script] Ajuda em script mega-sena


From: Paulo
Subject: Re: [shell-script-pt] [shell-script] Ajuda em script mega-sena
Date: Tue, 10 Mar 2020 13:39:58 -0300
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:68.0) Gecko/20100101 Thunderbird/68.5.0

Olá Dito, veja se ajuda.

while read line; do
  hits="$(grep -o -f <(tr ' ' '\n' <<<"$*") <<<"$line")"
  echo $line: $(if [ "$hits" ]; then
                  echo $(tr ' ' '\n' <<<"$hits"|wc -l) acertos \(acertou $hits\)
                else
                  echo 0 acertos
                fi)
done <jogos.txt

Abraços Paulo

On 10/03/2020 12:12, Dito Ramos address@hidden [shell-script] wrote:
Mestres, bom dia.
Estou mexendo num "scriptzinho" aqui, para conferir apostas na mega-sena.
Segue o script, o arquivos jogos.txt (onde eu incluo os números das apostas que 
fiz) e a saída do script:

O script confmega.sh
================
#!/bin/bash
while read line
do
hits=0;
for numero in $*
do
if [ $(grep -o $numero <<< $line | wc -l) -eq 1 ]
then
let hits++;
fi
done
if [ $hits -ge 0 ]
then
echo $line: $hits acertos
fi
done < jogos.txt

O arquivo jogos.txt:
==============
06 14 37 48 54 58
12 17 34 46 57 59
02 12 23 26 45 49
03 17 23 40 53 57
05 07 13 37 39 46
03 10 17 28 37 57
07 24 37 39 50 57
08 11 33 36 44 49
01 14 26 28 36 47
04 09 26 29 47 48
12 16 23 33 53 54
11 25 27 37 40 43

A saída do comando ./confmega.sh 11 20 27 28 53 60 (resultado oficial do 
concurso):
==============================================================
06 14 37 48 54 58: 0 acertos
12 17 34 46 57 59: 0 acertos
02 12 23 26 45 49: 0 acertos
03 17 23 40 53 57: 1 acertos
05 07 13 37 39 46: 0 acertos
03 10 17 28 37 57: 1 acertos
07 24 37 39 50 57: 0 acertos
08 11 33 36 44 49: 1 acertos
01 14 26 28 36 47: 1 acertos
04 09 26 29 47 48: 0 acertos
12 16 23 33 53 54: 1 acertos
11 25 27 37 40 43: 2 acertos

Está funcionando certinho. Mas preciso implementar mais uma informação na saída 
para ficar da seguinte forma:

06 14 37 48 54 58: 0 acertos
12 17 34 46 57 59: 0 acertos
02 12 23 26 45 49: 0 acertos
03 17 23 40 53 57: 1 acertos (acertou 53)
05 07 13 37 39 46: 0 acertos
03 10 17 28 37 57: 1 acertos (acertou 28)
07 24 37 39 50 57: 0 acertos
08 11 33 36 44 49: 1 acertos (acertou 11)
01 14 26 28 36 47: 1 acertos (acertou 28)
04 09 26 29 47 48: 0 acertos
12 16 23 33 53 54: 1 acertos (acertou 53)
11 25 27 37 40 43: 2 acertos (acertou 11, 27)

Já tentei aqui e não estou conseguindo.
Podem dar uma força?
Grato desde já.

Dito Ramos

[As partes desta mensagem que não continham texto foram removidas]

__._,_.___
--------------------------------------------------------------------------------------------------------------
Enviado por: Dito Ramos <address@hidden>



reply via email to

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