|
From: | Julio C. Neves |
Subject: | Re: [Bulk] Re: [Bulk] Re: [shell-script] Re: [OT] mega-sena com shell |
Date: | Fri, 2 Jan 2015 12:30:09 -0200 |
Aproveitando o tópico, tem um script aqui que fiz pra conferir os jogos da megasena
O que você precisa fazer é só criar um arquivo com seus jogos, no seguinte modelo$ cat palpites21 22 26 48 52 5410 19 28 34 35 38 5107 18 30 31 41 42 45 51e depois invoca-lo assim:$ ./confere palpites 01 05 11 16 20 56o código precisa de uma refatoração, fui fazendo e depois incluindo outras coisas, depois adicionando tags html... ficou meio bagunçado:#!/bin/bash[ $# -ne 7 ] && { echo "USO: $0 <arquivo com um jogo por linha> <dezenas do resultado>"; exit 1; }file=$1shiftresult="$*"busca=${result// /|}echo "<br><br><h1>Conferindo <b>${file##*/}</b></h1>"while read linedohits=0for i in $resultdogrep -qo $i <<< $line && { let hits++; line=$(sed "s/$i/\<b\>\<font color=red\>$i\<\/font\>\<\/b\>/g" <<< $line); }done[ $hits -gt 0 ] && echo "<br>$line"[ $hits -ge 4 ] && {echo "<br>";[ $hits -eq 6 ] && {echo -n "<h1><font color=green>Va cagar na mesa do chefe!</font></h1>";echo "<h1>$line: $hits acertos</h1>";} || echo "<h1>$line: $hits acertos</h1>";} || [ $hits -eq 0 ] && echo "<br>$line<br><b><font color=blue>Nada!</b></font><br>" || {[ $hits -lt 4 ] && echo "<br><b><font color=blue>Acertou so $hits</b></font><br>";}done < $fileaí pra automatizar eu fiz esse aqui, que já pega o resultado do sorteio direto do site da caixa:#!/bin/bashargs=$(grep -Eo "<li>[0-9]{2}</li>" out | head -6 | sed 's/<[^>]*>//g' | sort -n | sed ':a;$!N;s/\n/ /;ta;')sorteio=$(cut -c1-4 out)data="" -Eo "([0-9]{2}/){2}[0-9]{4}" out | head -1)rm out#mudar o número do sorteio para o sorteio desejado:[ $sorteio -eq 1665 ] && ./confere palpites $argsse alguém quiser melhorar o código, a vontade!On Fri Jan 02 2015 at 12:24:15 AM 'Julio C. Neves' address@hidden [shell-script] <address@hidden> wrote:A última informação que tive da editora é que o livro iria para as livrarias na 2a. quinzena desse mês. Depois dele vou ficar um bom tempo sem publicar outra edição.Em 1 de janeiro de 2015 14:02, Sidney Souza address@hidden [shell-script] <address@hidden> escreveu:Grande Julio,De fato me passou despercebido porque executei os comandos no windows e ele deve ter interpretado o caracter.Aproveitando a deixa, o software utilizado foi o mobaxterm, uma excelente ferramenta, que gosto muito por sinal e me ajuda a ter menos remorso, que proporciona o melhor do Linux dentro do sistema M$.Um grande abraço e não esqueça de avisar quando posso comprar seu livro, pois estou ansioso kkk.------------------------------------------------------http://www.politicos.org.br2015-01-01 13:03 GMT-02:00 'Julio C. Neves' address@hidden [shell-script] <address@hidden>:Fala Sidney,eu vi que tinha muito grep e sed misturado, mas a ressaca está tão danada que não tive saco de otimizar, exceto tirando o cat arq | grep, ao qual sou alérgico ;) Mas acho que ninguém notou (eu notei pq estava dando zebra no zenity) que cada linha gerada termina com 2 carriage return ^M. Assim sendo, incluiria mais uma perninha no sed, ficando assim:
grep -E -a -A 6 '[0-9]{2}/[0-9]{2}/[0-9]{4}' D_MEGA.HTM | sed -r 's/<[^>]*>//g; /\/|--/d;s/\r//g' | sort | uniq -c | sortEm 31 de dezembro de 2014 14:09, Sidney Souza address@hidden [shell-script] <address@hidden> escreveu:Usando o sed eu cheguei nesta solução
grep -E -a -A 6 '[0-9]{2}/[0-9]{2}/[0-9]{4}' D_MEGA.HTM | sed -r 's/<[^>]*>//g; /\/|--/d;' | sort | uniq -c | sort------------------------------------------------------http://www.politicos.org.br2014-12-31 12:04 GMT-02:00 address@hidden [shell-script] <address@hidden>:Eu por exemplo não tenho html2text, mas pode usar- links -dump- lynx -dump -nolist- w3m -dump -T 'text/html'e qq um deles pipear por exemplo com esse trecho em awk, para lista um número por linha:awk '/[0-9]\/[0-9]/ {for (i=3;i<=8;i++) printf "%s\n", $i }'ou esse para já ordenar e eliminar a sequência "sort | uniq -c | sort":awk '/[0-9]\/[0-9]/ {for (i=3;i<=8;i++) numero[$i]++} END {for (num in numero) print numero[num], num | "sort" }'
[Prev in Thread] Current Thread [Next in Thread]
- Re: [Bulk] Re: [shell-script] Re: [OT] mega-sena com shell, Julio C. Neves, 2015/01/01
- Re: [Bulk] Re: [Bulk] Re: [shell-script] Re: [OT] mega-sena com shell, Sidney Souza, 2015/01/01
- Re: [Bulk] Re: [Bulk] Re: [shell-script] Re: [OT] mega-sena com shell, Julio C. Neves, 2015/01/01
- Re: [Bulk] Re: [Bulk] Re: [shell-script] Re: [OT] mega-sena com shell, Alfredo Casanova, 2015/01/02
- Re: [Bulk] Re: [Bulk] Re: [shell-script] Re: [OT] mega-sena com shell, Julio C. Neves <=
- Prev by Date: Re: [Bulk] Re: [Bulk] Re: [shell-script] Re: [OT] mega-sena com shell
- Next by Date: Re: [shell-script] [OT] mega-sena com shell
- Previous by thread: Re: [Bulk] Re: [Bulk] Re: [shell-script] Re: [OT] mega-sena com shell
- Next by thread: Re: [Bulk] Re: [Bulk] Re: [Bulk] Re: [shell-script] Re: [OT] mega-sena com shell
- Index(es):