Ir direto para busca.
zztabtab · lista funcoes ZZ

Informações sobre o grupo

  • Associados: 153
  • Categoria: Software
  • Criado em: Jan 3, 2002
  • Idioma: Português
? Você já é um associado? Entre no Yahoo!

Dicas

Você sabia...
Você pode receber várias mensagens em um único e-mail. Basta configurar suas opções de entrega de e-mail.

Mensagens

  Ajuda
Avançado
mensagens 786 - 815 de 1015   Mais antigos  |  < Mais antigos  |  Mais recentes >  |  Mais recentes
mensagens 786 - 815 de 1015   Mais antigos  |  < Mais antigos  |  Mais recentes >  |  Mais recentes
mensagens: Exibir resumo de mensagens Classificar por data ^  
#786 De: ALexandre Brodt Fernandes <alexandre@...>
Data: Ter, 17 de Fev de 2009 2:14 pm
Assunto: Re: [zz] zzfutebol
xalexandre23
Enviar e-mail Enviar e-mail
 
Ano passado eu fiz a zzbrasileirao, série A e B..
É uma boa fazer outros campeonatos..
[]'s

2009/2/16 4d4c47 Pontocom Pontobr <m4d4c47@...>

vim aqui agradecer, pois sou usuário desse belo programa muito massa, tenho uma sugestão:

podia ter um "zzfutebol" com a lista dos 6 primeiros times dos campeonatos brasileiro ( campeonato nacional e regional) e o campeonato europeu, parece ser uma boa dica, falou



Veja quais são os assuntos do momento no Yahoo! + Buscados: Top 10 - Celebridades - Música - Esportes



--
Obrigado.
Atenciosamente,
Alexandre Brodt Fernandes
OWS - Opportunity Web Software
Gerente de Projetos
http://www.ows.com.br
alexandre@...
54 3311 3399

** Evite imprimir: 50 kgs de papel = 1 Árvore **

#787 De: Aurélio Jargas <verde@...>
Data: Qua, 18 de Fev de 2009 9:02 pm
Assunto: Re: [zz] zzfutebol
aureliojargas
Enviar e-mail Enviar e-mail
 
Aqui estão as funções do Alexandre::

http://funcoeszz.googlecode.com/svn/trunk/extra/zzbrasileirao

http://funcoeszz.googlecode.com/svn/trunk/extra/zzbrasileiraob

2009/2/17 ALexandre Brodt Fernandes <alexandre@...>:
> Ano passado eu fiz a zzbrasileirao, série A e B..
> É uma boa fazer outros campeonatos..
> []'s
>
> 2009/2/16 4d4c47 Pontocom Pontobr <m4d4c47@...>
>>
>> vim aqui agradecer, pois sou usuário desse belo programa muito massa,
>> tenho uma sugestão:
>>
>> podia ter um "zzfutebol" com a lista dos 6 primeiros times dos campeonatos
>> brasileiro ( campeonato nacional e regional) e o campeonato europeu, parece
>> ser uma boa dica, falou
>>
>>
>> ________________________________
>> Veja quais são os assuntos do momento no Yahoo! + Buscados: Top 10 -
>> Celebridades - Música - Esportes
>
>
> --
> Obrigado.
> Atenciosamente,
> Alexandre Brodt Fernandes
> OWS - Opportunity Web Software
> Gerente de Projetos
> http://www.ows.com.br
> alexandre@...
> 54 3311 3399
>
> ** Evite imprimir: 50 kgs de papel = 1 Árvore **
>
>
>



--
Aurélio Marinho Jargas
www.aurelio.net

#788 De: "huangho@..." <huangho@...>
Data: Qua, 18 de Mar de 2009 8:20 pm
Assunto: Erro na zzdiadasemana
huangho...
Enviar e-mail Enviar e-mail
 
Saudações!

Notei que a função zzdiadasemana retorna valores incorretos para datas
anteriores a 1/1/1970.

$ zzdiadasemana 01/01/1970
quinta-feira
$ zzdiadasemana 31/12/1969
sexta-feira

Esta parte:
     dia=$(( ${delta#-} % 7))  # remove o sinal negativo (se tiver)
Deveria ser algo assim:
     dia=$((delta%7))
     [ $dia -lt 0 ] && dia=$((dia+7))

#789 De: Rodrigo Cunha <rodrigopc@...>
Data: Dom, 3 de Mai de 2009 8:24 pm
Assunto: Função nova: zzcineuci
rodrigopcunha
Enviar e-mail Enviar e-mail
 
não estou conseguindo fazer o commit destas funções para o
repositório. Se alguém puder fazer isso pra mim, agradeço!

zzcineuci (nova): lista os filmes em exibição nos cinemas UCI;
zzora (alteração): mudança na ER.

[]s

Rodrigo

#790 De: Rodrigo Cunha <rodrigopc@...>
Data: Seg, 4 de Mai de 2009 5:36 pm
Assunto: Re: Função nova: zzcineuci
rodrigopcunha
Enviar e-mail Enviar e-mail
 
tudo ok, consegui fazer o commit.

Rodrigo

2009/5/3 Rodrigo Cunha <rodrigopc@...>:
> não estou conseguindo fazer o commit destas funções para o
> repositório. Se alguém puder fazer isso pra mim, agradeço!
>
> zzcineuci (nova): lista os filmes em exibição nos cinemas UCI;
> zzora (alteração): mudança na ER.
>
> []s
>
> Rodrigo
>

#791 De: Rafael Machado Casali <rmcasali@...>
Data: Qui, 14 de Mai de 2009 6:12 pm
Assunto: Funcao nova: zzcbn
rafaelmcasali
Enviar e-mail Enviar e-mail
 
Boa tarde a todos ZZusers,

Adicionei ao repositorios das funções extra uma nova função, a zzcbn.
Ela busca os comentários diários (ou das últimas duas semanas) dos
comentaristas da rádio CBN.

Ainda tem algumas alterações para fazer, pois todos os comentários
(vários anos) estão disponíveis, apenas o título deles é mais
complicado de obter.

A função usa o mplayer para toca os comentários, pois acho um player
com teclas de atalhos fácil de lembrar. Não saberia qual o melhor
player usar  sem que precise fazer o download do mesmo.

Abraços e espero que aproveitem..

Rafael Casali

#792 De: "Neto" <cpd@...>
Data: Sex, 31 de Jul de 2009 1:24 pm
Assunto: parabens ao grupo
cpd@...
Enviar e-mail Enviar e-mail
 
Bom dia,

Quero parabenizar o trabalho das pessoas envolvidas no projeto, hoje estou
fazendo uso dos modulos de unix2dos e dos2unix na importaçao de arquivos entre
os sistemas da empresa que trabalho, foi de grande valia a contribuiçao de
voces.

pessoal, ja verificando as funcionalidades, acho que ficaria legal a
possibilidade de envio de mensagem de texto pra celular via terminal..assim o
sistema poderia gerar mensagens informativas e transmitir via sms.
ja existe algum projeto pra essa funcionalidade?

grande abraço a todos.



-----------------------------
Francisco Neto
CPD Tintas Alves
Feira de Santana-Bahia
------------------------------
Tel (75) 2102-9076
Cel (75) 8149-3976
------------------------------




30 Jul 2009 20:57:19 -0000, Moderador do grupo zztabtab
<zztabtab-owner@...> escreveu:

>
> Olá,
>
> Bem-vindo ao grupo zztabtab em Yahoo! Grupos.
>
> Para começar a enviar mensagens aos membros deste grupo, basta enviar um
> e-mail para
>
> zztabtab@...
>
> Se você não deseja pertencer ao zztabtab, pode cancelar a assinatura
> enviando um e-mail para
>
> zztabtab-unsubscribe@...
>
> Você também pode visitar o site da web do Yahoo! Grupos para modificar suas
> assinaturas:
>
> http://br.groups.yahoo.com/mygroups
>
> Descrição do grupo:
>
>   Grupo de convivência onde os usuários das funções ZZ
> podem trocar informações e experiências.
>   Também é o lugar onde são feitos os anúncios de versão nova.
>
> Aurélio Marinho Jargas
>
>
>
> O uso que você faz do Yahoo! Grupos está sujeito aos
http://br.yahoo.com/info/utos.html
>
>
>
>
>
>
>

#793 De: "richard_gatinho_ruas" <richard.gatinho.ruas.ramos@...>
Data: Seg, 10 de Ago de 2009 11:54 pm
Assunto: Re: Erro na zzdiadasemana
richard_gati...
Enviar e-mail Enviar e-mail
 
Sistemas *NIX contam a data em segundos desde 01/01/1970 00:00, então se trata
de uma limitação de plataforma.

--- Em zztabtab@..., "huangho@..." <huangho@...> escreveu
>
> Saudações!
>
> Notei que a função zzdiadasemana retorna valores incorretos para datas
anteriores a 1/1/1970.
>
> $ zzdiadasemana 01/01/1970
> quinta-feira
> $ zzdiadasemana 31/12/1969
> sexta-feira
>
> Esta parte:
>     dia=$(( ${delta#-} % 7))  # remove o sinal negativo (se tiver)
> Deveria ser algo assim:
>     dia=$((delta%7))
>     [ $dia -lt 0 ] && dia=$((dia+7))
>

#794 De: Edson Ramiro <ramyro00@...>
Data: Seg, 17 de Ago de 2009 2:08 pm
Assunto: zztwitter
ramyro00@...
Enviar e-mail Enviar e-mail
 
Olá pessoal,

Tenho visto muita gente divulgar scripts para postar
mensagens no twitter via console.

Gostei da idéia e transformei em função ZZ.

Segue anexo.

Edson Ramiro

1 de 1 arquivo(s)


#795 De: "huangho@..." <huangho@...>
Data: Ter, 18 de Ago de 2009 3:48 pm
Assunto: Re: Erro na zzdiadasemana
huangho...
Enviar e-mail Enviar e-mail
 
--- Em zztabtab@..., "richard_gatinho_ruas"
<richard.gatinho.ruas.ramos@...> escreveu
>
> Sistemas *NIX contam a data em segundos desde 01/01/1970 00:00, então se trata
de uma limitação de plataforma.

Mas a data pode ser negativa; por isso, é possível representar qualquer data
2^31 segundos *antes* e *depois* de 1/1/1970. A correção que eu mandei soluciona
o problema...

>
> --- Em zztabtab@..., "huangho@" <huangho@> escreveu
> >
> > Saudações!
> >
> > Notei que a função zzdiadasemana retorna valores incorretos para datas
anteriores a 1/1/1970.
> >
> > $ zzdiadasemana 01/01/1970
> > quinta-feira
> > $ zzdiadasemana 31/12/1969
> > sexta-feira
> >
> > Esta parte:
> >     dia=$(( ${delta#-} % 7))  # remove o sinal negativo (se tiver)
> > Deveria ser algo assim:
> >     dia=$((delta%7))
> >     [ $dia -lt 0 ] && dia=$((dia+7))
> >
>

#796 De: "itamarnet" <itamarnet@...>
Data: Dom, 27 de Set de 2009 5:23 pm
Assunto: Sugestões para o funcõeszz
itamarnet
Enviar e-mail Enviar e-mail
 
Senhores acabo de entrar no grupo e tenho alguma sugestões: Não sei se seria o
caso de colocar como extra, pois na verdade alteram funções que já existem. Eu
não encontrei nada similar na breve busca que fiz, então ouso postar para
apreciação:

zzseq:
Neste caso eu coloquei uma forma de aceitar o terceiro parâmetro que estava no
"TODO", e inclui por conta  possibilidade de haver prefixos e sufixos a
numeração gerada. Não sei se é a solução mais elegante, mas está em aberto para
melhorias também
# ----------------------------------------------------------------------------
# Mostra uma seqüência numérica, um número por linha.
# Obs.: Emulação do comando seq, presente no Linux, com algumas melhorias
adicionais.
# Uso: zzseq [número-inicial] número-final [step [prefixo [sufixo]]]
# Ex.: zzseq 5
#      zzseq 10 2 5 "Numero " ")"
#
# ----------------------------------------------------------------------------
# TODO aceitar terceiro parâmetro, igual no Linux: 10 -2 0 (início step fim)
zzseq ()
{
	 zzzz -h seq $1 && return

	 local operacao='+'
	 local inicio=1
	 local fim=$1
	 local step=1
	 local saida prefixo sufixo

	 # Verificação dos parâmetros
	 [ "$1" ] || { zztool uso seq; return; }

	 # Se houver dois números, vai "do primeiro ao segundo"
	 [ "$2" ] && inicio=$1 fim=$2

	 # Se houver três números, vai "do primeiro ao segundo em saltos"
	 [ "$3" ] && inicio=$1 fim=$3 step=$2

	 # Se houver um quarto arqumento é tratado como prefixo
	 [ "$4" ] && prefixo="$4"

	 # Se houver um quito arqumento é tratado como sufixo
	 [ "$5" ] && sufixo="$5"

	 # Verificações básicas
	 if ! (zztool testa_numero_sinal "$inicio" &&
	       zztool testa_numero_sinal "$fim" &&
	       zztool testa_numero_sinal "$step")
	 then
		 zztool uso seq
		 return
	 fi

	 # Se o primeiro for maior que o segundo, a contagem é regressiva
	 if ([ $inicio -gt $fim ])
	 then
		 for ((saida=$inicio;saida>=$fim;saida-=$step))
		 do
			 echo ${prefixo}${saida}${sufixo}
		 done
	 else
		 for ((saida=$inicio;saida<=$fim;saida+=$step))
		 do
			 echo ${prefixo}${saida}${sufixo}
		 done
	 fi
}



####################################################################

zzloteria:
Neste caso alterei um pouco para corrigir um problema com a duplasena, mas que
parece temporário.
Inclui consulta para a federal e timemania
E também a possibilidade de pesquisar por concursos antigos.
# ----------------------------------------------------------------------------
# Consulta os resultados da quina, megasena, duplasena, lotomania,  lotofácil,
federal e timemania.
# Obs.: Se o segundo argumento for um numero, perquisa o resultado filtrando o
concurso
#       Se nenhum argumento for passado, todas as loterias são mostradas.
# Uso: zzloteria [quina | megasena | duplasena | lotomania | lotofacil | federal
| timemania] concurso]
# Ex.: zzloteria
#      zzloteria quina megasena
# ----------------------------------------------------------------------------
zzloteria ()
{
	 zzzz -h loteria $1 && return

	 local dump numero_concurso data resultado acumulado tipo
	 local resultado_val resultado_num num_con sufixo
	 local url='http://www1.caixa.gov.br/loterias/loterias'
	 local tipos='quina megasena duplasena lotomania lotofacil federal timemania'

	 # Caso o segundo argumento seja um numero, filtra pelo concurso equivalente
	 zztool testa_numero "$2"
	 if ([ $? -eq 0 ])
	 then
		 num_con="?submeteu=sim&opcao=concurso&txtConcurso=$2"
		 tipos="$1"
	 else
	 # Caso contrario mostra todos os tipos, ou alguns selecionados
		 unset num_con
		 [ "$1" ] && tipos="$*"
	 fi

	 # Para cada tipo de loteria...
	 for tipo in $tipos
	 do
		 zztool eco $tipo:

		 # Há várias pegadinhas neste código. Alguns detalhes:
		 # - A variável $dump é um cache local do resultado
		 # - É usado ZZWWWDUMP+filtros (e não ZZWWWHTML) para forçar a saída em UTF-8
		 # - O resultado é deixado como uma única longa linha
		 # - O resultado são vários campos separados por pipe |
		 # - Cada tipo de loteria traz os dados em posições (e formatos) diferentes :/

		 case "$tipo" in
			 duplasena)
				 sufixo="_pesquisa_new.asp"
			 ;;
			 *)
				 sufixo="_pesquisa.asp"
			 ;;
		 esac



		 dump=$($ZZWWWDUMP "$url/$tipo/${tipo}${sufixo}$num_con" |
			 tr -d \\n |
			 sed 's/  */ /g ; s/^ //')

		 # O número do concurso é sempre o primeiro campo
		 numero_concurso=$(echo "$dump" | cut -d '|' -f 1)

		 case "$tipo" in
			 lotomania)
				 # O resultado vem separado em campos distintos. Exemplo:
				 # |01|04|06|12|21|25|27|36|42|44|50|51|53|59|68|69|74|78|87|91|91|

				 data=$(     echo "$dump" | cut -d '|' -f 42)
				 acumulado=$(echo "$dump" | cut -d '|' -f 71,72)
				 resultado=$(echo "$dump" | cut -d '|' -f 7-26 |
			 		 sed 's/|/@/10 ; s/|/ - /g' |
					 tr @ '\n'
				 )
			 ;;
			 lotofacil)
				 # O resultado vem separado em campos distintos. Exemplo:
				 # |01|04|07|08|09|10|12|14|15|16|21|22|23|24|25|

				 data=$(     echo "$dump" | cut -d '|' -f 37)
				 acumulado=$(echo "$dump" | cut -d '|' -f 56,57)
				 resultado=$(echo "$dump" | cut -d '|' -f 4-18 |
					 sed 's/|/@/10 ; s/|/@/5 ; s/|/ - /g' |
					 tr @ '\n'
				 )
			 ;;
			 megasena)
				 # O resultado vem separado por asteriscos. Exemplo:
				 # | * 16 * 58 * 43 * 37 * 52 * 59 |

				 data=$(     echo "$dump" | cut -d '|' -f 12)
				 acumulado=$(echo "$dump" | cut -d '|' -f 22,23)
				 resultado=$(echo "$dump" | cut -d '|' -f 21 |
					 tr '*' '-'  |
					 tr '|' '\n' |
					 sed 's/^ - //'
				 )
			 ;;
			 duplasena)
				 # O resultado vem separado por asteriscos, tendo dois grupos
				 # numéricos: o primeiro e segundo resultado. Exemplo:
				 # | * 05 * 07 * 09 * 21 * 38 * 40 | * 05 * 17 * 20 * 22 * 31 * 45 |

				 data=$(     echo "$dump" | cut -d '|' -f 18)
				 acumulado=$(echo "$dump" | cut -d '|' -f 23,24)
				 resultado=$(echo "$dump" | cut -d '|' -f 4,5 |
					 tr '*' '-'  |
					 tr '|' '\n' |
					 sed 's/^ - //'
				 )
			 ;;
			 quina)
				 # O resultado vem duplicado em um único campo, sendo a segunda
				 # parte o resultado ordenado numericamente. Exemplo:
				 # | * 69 * 42 * 13 * 56 * 07 * 07 * 13 * 42 * 56 * 69 |

				 data=$(     echo "$dump" | cut -d '|' -f 17)
				 acumulado=$(echo "$dump" | cut -d '|' -f 18,19)
				 resultado=$(echo "$dump" | cut -d '|' -f 15 |
					 sed 's/\* /|/6' |
					 tr '*' '-'  |
					 tr '|' '\n' |
					 sed 's/^ - // ; 1d'
				 )
			 ;;
			 federal)
				 data=$(     echo "$dump" | cut -d '|' -f 17)
				 numero_concurso=$(echo "$dump" | cut -d '|' -f 3)
				 unset acumulado
				 resultado_num=$(echo "$dump" | cut -d '|' -f 7,9,11,13,15 |
					 tr '*' '-'  |
					 tr '|' '\n' |
					 sed 's/^ - //'
				 )
				 resultado_val=$(echo "$dump" | cut -d '|' -f 8,10,12,14,16 |
					 tr '*' '-'  |
					 tr '|' '\n' |
					 sed 's/^ - //'
				 )

				 resultado=$(paste <(zzseq 1 1 5 "" "º Prêmio") <(echo "$resultado_num")
<(echo "$resultado_val"))
			 ;;
			 timemania)
				 data=$(     echo "$dump" | cut -d '|' -f 2)
				 acumulado=$(echo "$dump" | cut -d '|' -f 24)
				 acumulado=${acumulado}"|"$(echo "$dump" | cut -d '|' -f 23)
				 resultado=$(echo "$dump" | cut -d '|' -f 8 |
					 tr '*' '-'  |
					 tr '|' '\n' |
					 sed 's/^ - //'
				 )
				 resultado=$(echo -e ${resultado}"\nTime: "$(echo "$dump" | cut -d '|' -f 9))
			 ;;
		 esac

		 # Mostra o resultado na tela (caso encontrado algo)
		 if [ "$resultado" ]
		 then
			 echo "$resultado" | sed 's/^/   /'
			 echo "   Concurso $numero_concurso ($data)"
			 [ "$acumulado" ] && echo "   Acumulado em R$ $acumulado" | sed 's/|/ para /'
			 echo
		 fi
	 done
}

#########################################################

Os testes que fiz aqui funcionaram perfeitamente, e apenas editei para a versão
ISO-8859-1

Aguardo sugestões e espero que possa ser aceito dentro do funcoeszz oficial, ou
como um extra

Sem mais,
Agradeço

#797 De: Aurélio Jargas <verde@...>
Data: Sáb, 3 de Out de 2009 1:31 am
Assunto: Re: [zz] Sugestões para o funcõeszz
aureliojargas
Enviar e-mail Enviar e-mail
 
Oi Itamar,

Muito obrigado pelas contribuições!

No momento estou sem tempo de mexer nas ZZ, mas quero fazer uma grande
reforma nelas para que fique mais fácil contribuições como estas tuas,
nas funções que não são extras.

Ainda não tenho previsão para que isso aconteça, mas quando for, eu aviso, ok?

Desculpe não poder fazer nada no momento, mas prefiro esperar por um
tempo de qualidade para poder mexer nas ZZ com calma.

Abraço

2009/9/27 itamarnet <itamarnet@...>:
> Senhores acabo de entrar no grupo e tenho alguma sugestões: Não sei se seria o
caso de colocar como extra, pois na verdade alteram funções que já existem. Eu
não encontrei nada similar na breve busca que fiz, então ouso postar para
apreciação:
>
> zzseq:
> Neste caso eu coloquei uma forma de aceitar o terceiro parâmetro que estava no
"TODO", e inclui por conta  possibilidade de haver prefixos e sufixos a
numeração gerada. Não sei se é a solução mais elegante, mas está em aberto para
melhorias também
> # ----------------------------------------------------------------------------
> # Mostra uma seqüência numérica, um número por linha.
> # Obs.: Emulação do comando seq, presente no Linux, com algumas melhorias
adicionais.
> # Uso: zzseq [número-inicial] número-final [step [prefixo [sufixo]]]
> # Ex.: zzseq 5
> #      zzseq 10 2 5 "Numero " ")"
> #
> # ----------------------------------------------------------------------------
> # TODO aceitar terceiro parâmetro, igual no Linux: 10 -2 0 (início step fim)
> zzseq ()
> {
>        zzzz -h seq $1 && return
>
>        local operacao='+'
>        local inicio=1
>        local fim=$1
>        local step=1
>        local saida prefixo sufixo
>
>        # Verificação dos parâmetros
>        [ "$1" ] || { zztool uso seq; return; }
>
>        # Se houver dois números, vai "do primeiro ao segundo"
>        [ "$2" ] && inicio=$1 fim=$2
>
>        # Se houver três números, vai "do primeiro ao segundo em saltos"
>        [ "$3" ] && inicio=$1 fim=$3 step=$2
>
>        # Se houver um quarto arqumento é tratado como prefixo
>        [ "$4" ] && prefixo="$4"
>
>        # Se houver um quito arqumento é tratado como sufixo
>        [ "$5" ] && sufixo="$5"
>
>        # Verificações básicas
>        if ! (zztool testa_numero_sinal "$inicio" &&
>              zztool testa_numero_sinal "$fim" &&
>              zztool testa_numero_sinal "$step")
>        then
>                zztool uso seq
>                return
>        fi
>
>        # Se o primeiro for maior que o segundo, a contagem é regressiva
>        if ([ $inicio -gt $fim ])
>        then
>                for ((saida=$inicio;saida>=$fim;saida-=$step))
>                do
>                        echo ${prefixo}${saida}${sufixo}
>                done
>        else
>                for ((saida=$inicio;saida<=$fim;saida+=$step))
>                do
>                        echo ${prefixo}${saida}${sufixo}
>                done
>        fi
> }
>
>
>
> ####################################################################
>
> zzloteria:
> Neste caso alterei um pouco para corrigir um problema com a duplasena, mas que
parece temporário.
> Inclui consulta para a federal e timemania
> E também a possibilidade de pesquisar por concursos antigos.
> # ----------------------------------------------------------------------------
> # Consulta os resultados da quina, megasena, duplasena, lotomania,  lotofácil,
federal e timemania.
> # Obs.: Se o segundo argumento for um numero, perquisa o resultado filtrando o
concurso
> #       Se nenhum argumento for passado, todas as loterias são mostradas.
> # Uso: zzloteria [quina | megasena | duplasena | lotomania | lotofacil |
federal | timemania] concurso]
> # Ex.: zzloteria
> #      zzloteria quina megasena
> # ----------------------------------------------------------------------------
> zzloteria ()
> {
>        zzzz -h loteria $1 && return
>
>        local dump numero_concurso data resultado acumulado tipo
>        local resultado_val resultado_num num_con sufixo
>        local url='http://www1.caixa.gov.br/loterias/loterias'
>        local tipos='quina megasena duplasena lotomania lotofacil federal
timemania'
>
>        # Caso o segundo argumento seja um numero, filtra pelo concurso
equivalente
>        zztool testa_numero "$2"
>        if ([ $? -eq 0 ])
>        then
>                num_con="?submeteu=sim&opcao=concurso&txtConcurso=$2"
>                tipos="$1"
>        else
>        # Caso contrario mostra todos os tipos, ou alguns selecionados
>                unset num_con
>                [ "$1" ] && tipos="$*"
>        fi
>
>        # Para cada tipo de loteria...
>        for tipo in $tipos
>        do
>                zztool eco $tipo:
>
>                # Há várias pegadinhas neste código. Alguns detalhes:
>                # - A variável $dump é um cache local do resultado
>                # - É usado ZZWWWDUMP+filtros (e não ZZWWWHTML) para forçar a
saída em UTF-8
>                # - O resultado é deixado como uma única longa linha
>                # - O resultado são vários campos separados por pipe |
>                # - Cada tipo de loteria traz os dados em posições (e formatos)
diferentes :/
>
>                case "$tipo" in
>                        duplasena)
>                                sufixo="_pesquisa_new.asp"
>                        ;;
>                        *)
>                                sufixo="_pesquisa.asp"
>                        ;;
>                esac
>
>
>
>                dump=$($ZZWWWDUMP "$url/$tipo/${tipo}${sufixo}$num_con" |
>                        tr -d \\n |
>                        sed 's/  */ /g ; s/^ //')
>
>                # O número do concurso é sempre o primeiro campo
>                numero_concurso=$(echo "$dump" | cut -d '|' -f 1)
>
>                case "$tipo" in
>                        lotomania)
>                                # O resultado vem separado em campos distintos.
Exemplo:
>                                #
|01|04|06|12|21|25|27|36|42|44|50|51|53|59|68|69|74|78|87|91|91|
>
>                                data=$(     echo "$dump" | cut -d '|' -f 42)
>                                acumulado=$(echo "$dump" | cut -d '|' -f 71,72)
>                                resultado=$(echo "$dump" | cut -d '|' -f 7-26 |
>                                        sed 's/|/@/10 ; s/|/ - /g' |
>                                        tr @ '\n'
>                                )
>                        ;;
>                        lotofacil)
>                                # O resultado vem separado em campos distintos.
Exemplo:
>                                #
|01|04|07|08|09|10|12|14|15|16|21|22|23|24|25|
>
>                                data=$(     echo "$dump" | cut -d '|' -f 37)
>                                acumulado=$(echo "$dump" | cut -d '|' -f 56,57)
>                                resultado=$(echo "$dump" | cut -d '|' -f 4-18 |
>                                        sed 's/|/@/10 ; s/|/@/5 ; s/|/ - /g' |
>                                        tr @ '\n'
>                                )
>                        ;;
>                        megasena)
>                                # O resultado vem separado por asteriscos.
Exemplo:
>                                # | * 16 * 58 * 43 * 37 * 52 * 59 |
>
>                                data=$(     echo "$dump" | cut -d '|' -f 12)
>                                acumulado=$(echo "$dump" | cut -d '|' -f 22,23)
>                                resultado=$(echo "$dump" | cut -d '|' -f 21 |
>                                        tr '*' '-'  |
>                                        tr '|' '\n' |
>                                        sed 's/^ - //'
>                                )
>                        ;;
>                        duplasena)
>                                # O resultado vem separado por asteriscos,
tendo dois grupos
>                                # numéricos: o primeiro e segundo resultado.
Exemplo:
>                                # | * 05 * 07 * 09 * 21 * 38 * 40 | * 05 * 17 *
20 * 22 * 31 * 45 |
>
>                                data=$(     echo "$dump" | cut -d '|' -f 18)
>                                acumulado=$(echo "$dump" | cut -d '|' -f 23,24)
>                                resultado=$(echo "$dump" | cut -d '|' -f 4,5 |
>                                        tr '*' '-'  |
>                                        tr '|' '\n' |
>                                        sed 's/^ - //'
>                                )
>                        ;;
>                        quina)
>                                # O resultado vem duplicado em um único campo,
sendo a segunda
>                                # parte o resultado ordenado numericamente.
Exemplo:
>                                # | * 69 * 42 * 13 * 56 * 07 * 07 * 13 * 42 *
56 * 69 |
>
>                                data=$(     echo "$dump" | cut -d '|' -f 17)
>                                acumulado=$(echo "$dump" | cut -d '|' -f 18,19)
>                                resultado=$(echo "$dump" | cut -d '|' -f 15 |
>                                        sed 's/\* /|/6' |
>                                        tr '*' '-'  |
>                                        tr '|' '\n' |
>                                        sed 's/^ - // ; 1d'
>                                )
>                        ;;
>                        federal)
>                                data=$(     echo "$dump" | cut -d '|' -f 17)
>                                numero_concurso=$(echo "$dump" | cut -d '|' -f
3)
>                                unset acumulado
>                                resultado_num=$(echo "$dump" | cut -d '|' -f
7,9,11,13,15 |
>                                        tr '*' '-'  |
>                                        tr '|' '\n' |
>                                        sed 's/^ - //'
>                                )
>                                resultado_val=$(echo "$dump" | cut -d '|' -f
8,10,12,14,16 |
>                                        tr '*' '-'  |
>                                        tr '|' '\n' |
>                                        sed 's/^ - //'
>                                )
>
>                                resultado=$(paste <(zzseq 1 1 5 "" "º Prêmio")
<(echo "$resultado_num") <(echo "$resultado_val"))
>                        ;;
>                        timemania)
>                                data=$(     echo "$dump" | cut -d '|' -f 2)
>                                acumulado=$(echo "$dump" | cut -d '|' -f 24)
>                                acumulado=${acumulado}"|"$(echo "$dump" | cut
-d '|' -f 23)
>                                resultado=$(echo "$dump" | cut -d '|' -f 8 |
>                                        tr '*' '-'  |
>                                        tr '|' '\n' |
>                                        sed 's/^ - //'
>                                )
>                                resultado=$(echo -e ${resultado}"\nTime:
"$(echo "$dump" | cut -d '|' -f 9))
>                        ;;
>                esac
>
>                # Mostra o resultado na tela (caso encontrado algo)
>                if [ "$resultado" ]
>                then
>                        echo "$resultado" | sed 's/^/   /'
>                        echo "   Concurso $numero_concurso ($data)"
>                        [ "$acumulado" ] && echo "   Acumulado em R$
$acumulado" | sed 's/|/ para /'
>                        echo
>                fi
>        done
> }
>
> #########################################################
>
> Os testes que fiz aqui funcionaram perfeitamente, e apenas editei para a
versão ISO-8859-1
>
> Aguardo sugestões e espero que possa ser aceito dentro do funcoeszz oficial,
ou como um extra
>
> Sem mais,
> Agradeço
>
>
>
> ------------------------------------
>
> --
> Links do Yahoo! Grupos
>
>
>



--
Aurélio | www.aurelio.net | @oreio

#798 De: "itamarnet" <itamarnet@...>
Data: Sáb, 3 de Out de 2009 1:02 pm
Assunto: Sugestão para testa_data
itamarnet
Enviar e-mail Enviar e-mail
 
Como contribuição deixo aqui um outra sugestão:
O testa_data, que é uma opção do zztool, verifica com uso do grep o seguinte
padrão [0123][0-9]/[01][0-9]/[0-9]{1,}
Mas isso permite algumas datas inválidas como 35/18/2
E como é possível ocorrer erros de digitação, ou usuários "espertos" demais,
acredito que fecho algumas brechas

Então eu sugiro essa alteração:
Onde está:
echo "$2" | grep "^[0123][0-9]/[01][0-9]/[0-9]\{1,\}" >/dev/null

Substituir por:
local yyyy mm dd
yyyy=${2##*/}
mm=${2#*/}
mm=${mm%/*}
dd=${2%%/*}
date -d "${yyyy}/${mm}/${dd}" 2>1 >/dev/null

Espero que ajude.

#799 De: "itamarnet" <itamarnet@...>
Data: Sáb, 3 de Out de 2009 4:06 pm
Assunto: Complementando sugestão do testa_data
itamarnet
Enviar e-mail Enviar e-mail
 
Na mensagem anterior eu fiz uma sugestão para tentar melhorar o testa_data, que
faz parte do zztool.
Constatei depois, que se acaso o ano tiver menos de 4 dígitos, o comando date
pode interpretar a data no formato "mm/dd/yyyy" (padrão americano)
Então para evitar essa interpretação envio um complemento:
Antes do comando date coloque esse trecho:

yyyy=$(echo "2*10^(3-${#yyyy})"|bc)$yyyy
yyyy=${yyyy#0}

Isso evita ano com menos de 4 dígitos.

Lamento, mas percebi isso depois

#800 De: "Wilson Roberto" <wilson_rsjr@...>
Data: Qua, 3 de Mar de 2010 11:12 pm
Assunto: [OFF-TOPIC] Desfazendo de livros
wilson_rsjr
Enviar e-mail Enviar e-mail
 
Boa noite a todos,
estou me desfazendo de alguns livros e gostaria de saber quem está interessado.

Visual Basic .Net - Aplicativo de banco de dados - Ijaui F da Silva - R$ 20,00
Programando em C# com .NET Framework da Microsoft - Antonio Carlos Barbosa - R$
30,00
Aprenda Asp.Net Ajax em 15 Passos - Roque Fernando M Sousa - R$ 30,00
Como Programar com Asp.Net e C# - Alfredo Lotar - R$ 40,00
Universidade Java - Torne-se um especialista nessa poderosa linguagem! - Franco
Yoshida - R$ 30,00
Como Criar Web Pages Rápidas e Eficientes usando PHP e MySQL - David Tansley -
R$ 30,00
Netware 5 - Soluções Rápidas - Billie Pierce e Mark Pierce - R$ 40,00
SQL Server 2005 - Administração e Desenvolvimento - Curso completo - Julio
Battisti - R$ 100,00

Caso leve todos eu faço por R$ 290,00.
Favor entrar em contato PVT
[OFF-TOPIC] Desfazendo de livros

Obrigado.

#801 De: Douglas José <douglasjose@...>
Data: Seg, 8 de Mar de 2010 1:52 pm
Assunto: Problema de codificação com o Cygwin 1.7
douglasjose
Enviar e-mail Enviar e-mail
 
Oi pessoal,

Depois de atualizar meu Cygwin para a versão 1.7.1, comecei a observar problemas de codificação em algumas funções (os caracteres acentuados não estavam mais sendo exibidos).

Acredito que a causa do problema seja o fato de que o Cygwin a partir da versão 1.7 tenha suporte a UTF-8 no console [1].

Eu consegui resolver o problema baixando a versão UTF-8 das Funções ZZ. O curioso é que o comando de diagnóstico (zzzz --teste) [2] identifica a codificação do sistema ainda como ISO-8859-1.

[1] - http://www.cygwin.com/cygwin-ug-net/ov-new1.7.html
[2] - http://funcoeszz.net/faq.html#utf-vs-iso

--
Douglas Jose
http://douglasjose.com

- "Use free software. Help us make a free world."

#802 De: Douglas José <douglasjose@...>
Data: Qui, 25 de Mar de 2010 10:54 am
Assunto: Função zzdicbabylon corrigida
douglasjose
Enviar e-mail Enviar e-mail
 
Oi pessoal,

A função zzdicbabylon está quebrada desde pelo menos esta segunda-feira (22-mar-2010). Segue em anexo o patch para ser aplicado no código fonte e o texto completo de como ficou a função.
Eu testei apenas no Cygwin, e como não sou um expert em sed não me surpreenderei quando alguém descobrir que a função não funciona em outro ambiente. Por isso seria legal se a função pudesse ser testada em outros sistemas também.

Um abraço,

--
Douglas Jose
http://douglasjose.com

- "Use free software. Help us make a free world."

2 de 2 arquivo(s)


#803 De: Douglas José <douglasjose@...>
Data: Qui, 25 de Mar de 2010 12:35 pm
Assunto: Re: [zz] Função zzdicbabylon corrigida [2 Anexos]
douglasjose
Enviar e-mail Enviar e-mail
 
Olá pessoal,

Percebi que a codificação HTML também mudou. Segue em anexo patch e função atualizados.

Até mais,

Douglas

2010/3/25 Douglas José <douglasjose@...>
 
[Anexos de =?ISO-8859-1?Q?Douglas_Jos=E9?= incluídos abaixo]

Oi pessoal,

A função zzdicbabylon está quebrada desde pelo menos esta segunda-feira (22-mar-2010). Segue em anexo o patch para ser aplicado no código fonte e o texto completo de como ficou a função.
Eu testei apenas no Cygwin, e como não sou um expert em sed não me surpreenderei quando alguém descobrir que a função não funciona em outro ambiente. Por isso seria legal se a função pudesse ser testada em outros sistemas também.

Um abraço,

--
Douglas Jose
http://douglasjose.com

- "Use free software. Help us make a free world."




--
Douglas Jose
http://douglasjose.com

- "Use free software. Help us make a free world."

#804 De: "eliasdorneles" <eliasdorneles@...>
Data: Qui, 25 de Mar de 2010 7:48 pm
Assunto: Re: Função zzdicbabylon corrigida [2 Anexos]
eliasdorneles
Enviar e-mail Enviar e-mail
 
Valeu, Douglas!
Tá funfando pra mim! :)

#805 De: "clauton.depx" <clauton.depx@...>
Data: Qui, 22 de Abr de 2010 5:08 pm
Assunto: ESSA NÃO DÁ PARA PERDER!!!
clauton.depx
Enviar e-mail Enviar e-mail
 

OLÁ, COMO VAI? TENHO UM CONVITE IRRESISTÍVEL PARA FAZER A VOCÊ! PEÇO APENAS 1 MINUTO DE SUA ATENÇÃO! TENHO CERTEZA DE QUE NÃO IRÁ SE ARREPENDER! PELO CONTRÁRIO, VOCÊ IRÁ ME AGRADECER POR RECEBER ESTE CONVITE!

 

 

PARTICIPO DE UM SITE DE RELACIONAMENTOS (MELHOR DO QUE ORKUT E FACEBOOK) QUE POSSUI UMA INFINIDADE DE OPÇÕES DE ENTRETENIMENTO E O MELHOR, PAGA PELA PARTICIPAÇÃO DOS MEMBROS!

 

 

ESTOU FALANDO DO KLIKOT! O FENÔMENO QUE JÁ POSSUI MAIS DE 700 MIL MEMBROS EM TODO O MUNDO! E ISSO EM APENAS 2 MESES DE EXISTÊNCIA! SERÁ QUE ESSE VAI PEGAR? CLARO QUE VAI!!!

 

 

HÁ VÁRIAS FORMAS DE GANHAR DINHEIRO NO KLIKOT, E VOCÊ NÃO PAGA NADA PARA PARTICIPAR! ISSO MESMO, A PARTICIPAÇÃO É GRATUITA!!!

 

 

É NECESSÁRIO SER CONVIDADO POR ALGUÉM PARA PARTICIPAR. ACESSE O MEU LINK DE CONVITE ABAIXO E CADASTRE-SE!

 

 

http://www.klikot.com/pt/SignUp.aspx?advertiser_id=596742

 

 

 

 

SE O LINK ACIMA NÃO FUNCIONAR COPIE E COLE EM SEU NAVEGADOR!

 

 

 

O QUE É?

 

KLIKOT É UM NOVO TIPO DE REDE SOCIAL (MELHOR QUE ORKUT E FACEBOOK), BASEADO NO PRINCÍPIO DE QUE OS MEMBROS DEVEM SER RECOMPENSADOS PELAS SUAS CONTRIBUIÇÕES.

 

 

 

COMO GANHAR DINHEIRO NO KLIKOT?

 

 

EXISTEM VÁRIAS FORMAS DE GANHOS, SÃO ELAS:

 

 

- PONTOS POR MARKETING

 

ESSES PONTOS REPRESENTAM A ATIVIDADE DOS MEMBROS QUE VOCÊ CONVIDOU PARA O KLIKOT, E É MOSTRADA NA SUA REDE DE CONVIDADOS (ÁRVORE DE MARKETING). A ÁRVORE MOSTRA TODOS OS MEMBROS QUE VOCÊ CONVIDOU PARA O KLIKOT E TODOS OS MEMBROS QUE ELES CONVIDARAM, ATÉ 5 NÍVEIS. QUANTO MAIS ELES ACESSAREM, MAIS PONTOS POR MARKETING VOCÊ RECEBE. ESSES PONTOS SERÃO TRANSFORMADOS EM DINHEIRO AO FINAL DE CADA DIA.

 

 

- PONTOS POR CONTEÚDO

 

 

ESSES PONTOS REPRESENTAM A SOMA TOTAL DE PONTOS POR CONTEÚDO PRODUZIDOS.

 

1)  QUANDO ALGUÉM NO KLIKOT VISUALIZA SEU PERFIL VOCÊ GANHA PONTOS;

 

2)  QUANDO ALGUÉM NO KLIKOT VISUALIZA O SEU ALBUM DE FOTOS VOCÊ GANHA PONTOS;

 

3)  QUANDO VOCÊ CRIA UM ARTIGO E ESTE É VISUALIZADO POR ALGUÉM NO KLIKOT VOCÊ GANHA PONTOS;

 

4)  QUANDO VOCÊ CRIA UM GRUPO (COMUNIDADE) E ESTE É VISUALIZADO POR ALGUÉM NO KLIKOT VOCÊ GANHA PONTOS;

 

5)  QUANDO VOCÊ CRIA UM EVENTO E ESTE É VISUALIZADO POR ALGUÉM NO KLIKOT VOCÊ GANHA PONTOS.

 

 

 

CADA ARTIGO, ÁLBUM, EVENTO OU GRUPO ENVIADO CRIA MOVIMENTO NO SITE. ESSE MOVIMENTO É TRANSFORMADO EM PONTOS POR CONTEÚDO, QUE SÃO TRANSFORMADOS EM BENEFÍCIOS MONETÁRIOS TAMBÉM AO FINAL DE CADA DIA.

 

 

 

 

POSSO CUSTOMIZAR? CLARO QUE SIM! NO KLIKOT VOCÊ PODE!

 

 

NÃO QUER QUE ALGUÉM SEJA CAPAZ DE BUSCAR O SEU NOME? TEM FOTOS PRIVADAS QUE NÃO QUER QUE OUTROS VEJAM? SUA EXPERIÊNCIA NO KLIKOT PODE SER PESSOALMENTE AJUSTADA DE ACORDO COM SUAS PREFERÊNCIAS.

 

 

 

CONFORME HAVIA INFORMADO ACIMA, É NECESSÁRIO SER CONVIDADO POR ALGUÉM PARA PARTICIPAR. ACESSE O MEU LINK DE CONVITE ABAIXO E CADASTRE-SE!

 

http://www.klikot.com/pt/SignUp.aspx?advertiser_id=596742

 

 

 

LEMBRE-SE! VOCÊ NÃO PAGA NADA PARA PARTICIPAR! A PARTICIPAÇÃO É GRATUITA!

 

 

DEPOIS DE SE CADASTRAR, ACESSE MEU PERFIL NO KLIKOT PARA EVENTUAIS CONTATOS ATRAVÉS DO LINK ABAIXO:

 

 

http://www.klikot.com/Profile_.aspx?user_id=596742

 

 

EM CASO DE DÚVIDAS FAVOR NÃO RESPONDER A ESTE E-MAIL!!! FAVOR ENVIÁ-LAS AO MEU E-MAIL PESSOAL OU ME ADICIONAR NO MSN.

 

E-MAIL PESSOAL / MSN  =   clauton.mmn@...

 

 

 

CONTO COM A SUA PARTICIPAÇÃO! UM FORTE ABRAÇO E SUCESSO!

 

 


#806 De: "richardg867" <richard@...>
Data: Sáb, 22 de Mai de 2010 11:38 pm
Assunto: Erros ao executar as Funções ZZ no último Cygwin?
richardg867
Enviar e-mail Enviar e-mail
 
Richard@AthlonXP:~$ ./funcoeszz
bash: $'\r': command not found
bash: $'\r': command not found
bash: $'\r': command not found
': not a valid identifier89: unset: `ZZTMPDIR_DFT
bash: $'\r': command not found
bash: $'\r': command not found
bash: /usr/bin/funcoeszz: line 99: syntax error near unexpected token `$'\r''
'ash: /usr/bin/funcoeszz: line 99: `zztool ()
Richard@AthlonXP:~$

Solução: Parece que nos últimos Cygwins, a forma em que as permissões de
execução (+x) e quebras de linha (LF vs. CRLF) são tratadas mudou, afetando
assim as Funções.

Basta executar o comando:
Richard@AthlonXP:~$ dos2unix funcoeszz
funcoeszz: done.
Richard@AthlonXP:~$

Tentando executar as Funções novamente...
Richard@AthlonXP:~$ ./funcoeszz
Richard@AthlonXP:~$ zzzz --bashrc
Feito!
As Funções ZZ foram instaladas no /home/Richard/.bashrc
Richard@AthlonXP:~$

#807 De: Aurélio Jargas <verde@...>
Data: Seg, 24 de Mai de 2010 11:43 am
Assunto: Re: [zz] Erros ao executar as Funções ZZ no último Cygwin?
aureliojargas
Enviar e-mail Enviar e-mail
 
Oi Richard,

O arquivo das funções já está no formato do Unix, usando apenas \n
para fazer as quebras de linha.

Será que voce não abriu o arquivo para edição em algum aplicativo do
Windows (tipo bloco de notas) e ao fechar/salvar ele converteu para o
formato do Windows (\r\n)?

Abraço


2010/5/22 richardg867 <richard@...>:
> Richard@AthlonXP:~$ ./funcoeszz
> bash: $'\r': command not found
> bash: $'\r': command not found
> bash: $'\r': command not found
> ': not a valid identifier89: unset: `ZZTMPDIR_DFT
> bash: $'\r': command not found
> bash: $'\r': command not found
> bash: /usr/bin/funcoeszz: line 99: syntax error near unexpected token `$'\r''
> 'ash: /usr/bin/funcoeszz: line 99: `zztool ()
> Richard@AthlonXP:~$
>
> Solução: Parece que nos últimos Cygwins, a forma em que as permissões de
execução (+x) e quebras de linha (LF vs. CRLF) são tratadas mudou, afetando
assim as Funções.
>
> Basta executar o comando:
> Richard@AthlonXP:~$ dos2unix funcoeszz
> funcoeszz: done.
> Richard@AthlonXP:~$
>
> Tentando executar as Funções novamente...
> Richard@AthlonXP:~$ ./funcoeszz
> Richard@AthlonXP:~$ zzzz --bashrc
> Feito!
> As Funções ZZ foram instaladas no /home/Richard/.bashrc
> Richard@AthlonXP:~$
>
>
>
> ------------------------------------
>
> --
> Links do Yahoo! Grupos
>
>
>



--
Aurélio | www.aurelio.net | @oreio

#808 De: Luciano Marques <luciano073@...>
Data: Ter, 15 de Jun de 2010 3:04 pm
Assunto: função zzloteria: erro na duplasena
luciano073
Enviar e-mail Enviar e-mail
 
Olá, a função zzloteria tá funcionando pra todas loterias menos pra duplasena. Alguém sabe o motivo?

--
Luciano Marques
Goiânia - GO
Brasil

#809 De: "itamarnet" <itamarnet@...>
Data: Sáb, 19 de Jun de 2010 4:15 pm
Assunto: Re: função zzloteria: erro na duplasena
itamarnet
Enviar e-mail Enviar e-mail
 
Luciano eu já havia identificado esse erro e coloquei no extras um zzloteria2
que corrige esse problema. O que aconteceu é que o mecanismo da duplasena mudou,
mas esse zzloteria2 precisa do zzseq2, que é uma tentativa de melhoria no zzseq
original.

Veja se eles lhe atendem

Sem mais,
Itamar


--- Em zztabtab@..., Luciano Marques <luciano073@...> escreveu
>
> Olá, a função zzloteria tá funcionando pra todas loterias menos pra
> duplasena. Alguém sabe o motivo?
>
> --
> Luciano Marques
> Goiânia - GO
> Brasil
>

#810 De: "mrodrigomana" <mrodrigomana@...>
Data: Seg, 21 de Jun de 2010 2:26 pm
Assunto: Função cpf
mrodrigomana
Enviar e-mail Enviar e-mail
 
E ai pessoal, para usar a função zzcpf em CGI, há alguma peculiaridade?
Eu uso ela na shell e funciona como o esperado, quando utilizo coletando o cpf
de um formulário html ( usando post ) não da certo.
Outros scripts estão OK, e o cpf vai certo, eu faço um teste com echo.
Se alguém souber de algo, posso até passar o script e o formulário, para saber
como foi construído.

Vlw abraçosssssss!!!!

#811 De: Aurélio Jargas <verde@...>
Data: Seg, 21 de Jun de 2010 10:29 pm
Assunto: Re: [zz] Função cpf
aureliojargas
Enviar e-mail Enviar e-mail
 
Como você está chamando a função? Chame pelo arquivo principal das
funções, assim:

funcoeszz cpf 123.456.789-10

As outras funções funcionam ou é apenas a zzcpf? Pra testar, faça um:

funcoeszz calcula 2 + 2

Se nenhuma função funciona, pode ser problema de PATH. Inclua o
caminho completo pra funções ZZ pra garantir.

Não é pra ter nenhuma peculiaridade com a zzcpf em si, visto que ela
só usa os comandos internos do próprio Bash, um tr e um sed simples.

Testa aí e conta pra gente o que rolou.

Abraço


2010/6/21 mrodrigomana <mrodrigomana@...>:
> E ai pessoal, para usar a função zzcpf em CGI, há alguma peculiaridade?
> Eu uso ela na shell e funciona como o esperado, quando utilizo coletando o cpf
de um formulário html ( usando post ) não da certo.
> Outros scripts estão OK, e o cpf vai certo, eu faço um teste com echo.
> Se alguém souber de algo, posso até passar o script e o formulário, para saber
como foi construído.
>
> Vlw abraçosssssss!!!!
>
>
>
> ------------------------------------
>
> --
> Links do Yahoo! Grupos
>
>
>



--
Aurélio | www.aurelio.net | @oreio

#812 De: "mrodrigomana" <mrodrigomana@...>
Data: Seg, 21 de Jun de 2010 10:51 pm
Assunto: Re: [zz] Função cpf
mrodrigomana
Enviar e-mail Enviar e-mail
 
Bem, o função está dentro do próprio script, e o formulário entrega a variável
cpf01="00011122233";
esse é o conteúdo do script funcaocpf.sh:

#!/bin/bash
echo Content-type: text/html
echo

##### FORMATO SUGERIDO PELO PROFESSOR  ########
#echo Content-Type: text/plain 				 #
#echo "" 												 #
##### FIM FORMATO SUGERIDO PELO PROFESSOR #####

#### PEGAR DADOS DO FORMULÁRIO, O METODO UTILIZADO E O POST #################

read TRIPA

IFS='&'

set - $TRIPA
for nome_valor; do

	 nome_campo=$( echo "$nome_valor" | cut -d= -f1)
	 valor_campo=$( echo "$nome_valor" | cut -d= -f2 | tr + ' ')
	 eval $nome_campo=\"$valor_campo\"

done

####  FIM PEGAR DADOS DO FORMULÁRIO, O METODO UTILIZADO E O POST  ############

########## A VARIAVEL QUE VEM DO FORMULARIO HTML E ######################
# 																						 #
# cpf01="VALORCPF COM 11 DIGITOS" 											 #
# 																						   #
########## FIM A VARIAVEL QUE VEM DO FORMULARIO HTML E ##################


echo $cpf01 #####AQUI EU TESTO SE O CPF VEIO CORRETO DO FORMULARIO
zzcpf () { ########## FUNCAO VERIFICA CPF ################
	 #zzzz -h cpf $1 && return

	 local i n somatoria digito1 digito2 cpf base

	 # Remove pontuação do CPF informado, deixando apenas números
	 cpf="$(echo $* | tr -d -c 0123456789)"

	 # Extrai os números da base do CPF:
	 # Os 9 primeiros, sem os dois dígitos verificadores.
	 # Esses dois dígitos serão calculados adiante.
	 if [ "$cpf" ]
	 then
		 # Faltou ou sobrou algum número...
		 if [ ${#cpf} -ne 11 ]
		 then
			 validacpf="1";
			 echo $validacpf;
			 return
		 fi

		 # Apaga os dois últimos dígitos
		 base=${cpf%??}
	 else
		 # Não foi informado nenhum CPF, vamos gerar um escolhendo
		 # nove dígitos aleatoriamente para formar a base
		 while [ ${#cpf} -lt 9 ]
		 do
			 cpf="$cpf$((RANDOM % 9))"
		 done
		 base=$cpf
	 fi

	 # Truque para cada dígito da base ser guardado em $1, $2, $3, ...
	 set - $(echo $base | sed 's/./& /g')

	 # Explicação do algoritmo de geração/validação do CPF:
	 #
	 # Os primeiros 9 dígitos são livres, você pode digitar quaisquer
	 # números, não há seqüência. O que importa é que os dois últimos
	 # dígitos, chamados verificadores, estejam corretos.
	 #
	 # Estes dígitos são calculados em cima dos 9 primeiros, seguindo
	 # a seguinte fórmula:
	 #
	 # 1) Aplica a multiplicação de cada dígito na máscara de números
	 #    que é de 10 a 2 para o primeiro dígito e de 11 a 3 para o segundo.
	 # 2) Depois tira o módulo de 11 do somatório dos resultados.
	 # 3) Diminui isso de 11 e se der 10 ou mais vira zero.
	 # 4) Pronto, achou o primeiro dígito verificador.
	 #
	 # Máscara   : 10    9    8    7    6    5    4    3    2
	 # CPF       :  2    2    5    4    3    7    1    0    1
	 # Multiplica: 20 + 18 + 40 + 28 + 18 + 35 +  4 +  0 +  2 = Somatória
	 #
	 # Para o segundo é praticamente igual, porém muda a máscara (11 - 3)
	 # e ao somatório é adicionado o dígito 1 multiplicado por 2.

	 ### Cálculo do dígito verificador 1
	 # Passo 1
	 somatoria=0
	 for i in 10 9 8 7 6 5 4 3 2 ; do # máscara
		 # Cada um dos dígitos da base ($n) é multiplicado pelo
		 # seu número correspondente da máscara ($i) e adicionado
		 # na somatória.
		 n=$1
		 somatoria=$((somatoria + (i * n)))
		 shift
	 done
	 # Passo 2
	 digito1=$((11 - (somatoria % 11)))
	 # Passo 3
	 [ $digito1 -ge 10 ] && digito1=0

	 ### Cálculo do dígito verificador 2
	 # Tudo igual ao anterior, primeiro setando $1, $2, $3, etc e
	 # depois fazendo os cálculos já explicados.
	 #
	 set - $(echo $base | sed 's/./& /g')
	 # Passo 1
	 somatoria=0
	 for i in 11 10 9 8 7 6 5 4 3; do
		 n=$1
		 somatoria=$((somatoria + (i * n)))
		 shift
	 done
	 # Passo 1 e meio (o dobro do verificador 1 entra na somatória)
	 somatoria=$((somatoria + digito1 * 2))
	 # Passo 2
	 digito2=$((11 - (somatoria % 11)))
	 # Passo 3
	 [ $digito2 -ge 10 ] && digito2=0

	 # Mostra ou valida
	 if [ ${#cpf} -eq 9 ]
	 then
		 # Esse CPF foi gerado aleatoriamente pela função.
		 # Apenas adiciona os dígitos verificadores e mostra na tela.
		 echo $cpf$digito1$digito2 |
		 	 sed 's/\(...\)\(...\)\(...\)/\1.\2.\3-/' # nnn.nnn.nnn-nn
	 else
		 # Esse CPF foi informado pelo usuário.
		 # Compara os verificadores informados com os calculados.
		 if [ "${cpf#?????????}" = "$digito1$digito2" ]
		 then
			 validacpf="0";
			 echo $validacpf;
			 return
		 else
			 # Boa ação do dia: mostrar quais os verificadores corretos
			 validacpf="1";
			 echo $validacpf;
			 return
		 fi
	 fi
}
############# FIM FUNCAO VERIFICA CPF ################


verificador=$(zzcpf $cpf01); ###  RETORNA DA FUNÇÃO O VALOR "0" PARA CPFS OKS,
RETORNA "1" PARA CPF NAO OK
										 ###  EM DOIS CASOS ELE RETORNA "1" ( SE FALTA DIGITOS OU SE O
VERIFICADOR NAO CONFERE COM A MASCARA)



if [ "$verificador" -eq 0 ]
	 then
	 echo "CPF OK";
else
	 echo "CPF NO OK";
fi

################## TESTEI TAMBEM DESSA FORMA ##################################

if [ "$(zzcpf $cpf01)" -eq 0 ]
	 then
	 echo "CPF OK";
else
	 echo "CPF NO OK";
fi

################## FIM TESTE TAMBEM DESSA FORMA ################################
### FIM ####
--- Em zztabtab@..., Aurélio Jargas <verde@...> escreveu
>
> Como você está chamando a função? Chame pelo arquivo principal das
> funções, assim:
>
> funcoeszz cpf 123.456.789-10
>
> As outras funções funcionam ou é apenas a zzcpf? Pra testar, faça um:
>
> funcoeszz calcula 2 + 2
>
> Se nenhuma função funciona, pode ser problema de PATH. Inclua o
> caminho completo pra funções ZZ pra garantir.
>
> Não é pra ter nenhuma peculiaridade com a zzcpf em si, visto que ela
> só usa os comandos internos do próprio Bash, um tr e um sed simples.
>
> Testa aí e conta pra gente o que rolou.
>
> Abraço
>
>
> 2010/6/21 mrodrigomana <mrodrigomana@...>:
> > E ai pessoal, para usar a função zzcpf em CGI, há alguma peculiaridade?
> > Eu uso ela na shell e funciona como o esperado, quando utilizo coletando o
cpf de um formulário html ( usando post ) não da certo.
> > Outros scripts estão OK, e o cpf vai certo, eu faço um teste com echo.
> > Se alguém souber de algo, posso até passar o script e o formulário, para
saber como foi construído.
> >
> > Vlw abraçosssssss!!!!
> >
> >
> >
> > ------------------------------------
> >
> > --
> > Links do Yahoo! Grupos
> >
> >
> >
>
>
>
> --
> Aurélio | www.aurelio.net | @oreio
>

#813 De: Maycon Moreira <mrodrigomana@...>
Data: Sáb, 26 de Jun de 2010 4:51 pm
Assunto: Re: [zz] Função cpf
mrodrigomana
Enviar e-mail Enviar e-mail
 
Vlw galera, deu certo, utilizei a função fora do script e deu certo.
Vlw Aurélio, pela dica!!!
Abraçosss

--- Em seg, 21/6/10, mrodrigomana <mrodrigomana@...> escreveu:

De: mrodrigomana <mrodrigomana@...>
Assunto: Re: [zz] Função cpf
Para: zztabtab@...
Data: Segunda-feira, 21 de Junho de 2010, 22:51

 

Bem, o função está dentro do próprio script, e o formulário entrega a variável cpf01="00011122233";
esse é o conteúdo do script funcaocpf.sh:

#!/bin/bash
echo Content-type: text/html
echo

##### FORMATO SUGERIDO PELO PROFESSOR ########
#echo Content-Type: text/plain #
#echo "" #
##### FIM FORMATO SUGERIDO PELO PROFESSOR #####

#### PEGAR DADOS DO FORMULÁRIO, O METODO UTILIZADO E O POST #################

read TRIPA

IFS='&'

set - $TRIPA
for nome_valor; do

nome_campo=$( echo "$nome_valor" | cut -d= -f1)
valor_campo=$( echo "$nome_valor" | cut -d= -f2 | tr + ' ')
eval $nome_campo=\"$valor_campo\"

done

#### FIM PEGAR DADOS DO FORMULÁRIO, O METODO UTILIZADO E O POST ############

########## A VARIAVEL QUE VEM DO FORMULARIO HTML E ######################
# #
# cpf01="VALORCPF COM 11 DIGITOS" #
# #
########## FIM A VARIAVEL QUE VEM DO FORMULARIO HTML E ##################

echo $cpf01 #####AQUI EU TESTO SE O CPF VEIO CORRETO DO FORMULARIO
zzcpf () { ########## FUNCAO VERIFICA CPF ################
#zzzz -h cpf $1 && return

local i n somatoria digito1 digito2 cpf base

# Remove pontuação do CPF informado, deixando apenas números
cpf="$(echo $* | tr -d -c 0123456789)"

# Extrai os números da base do CPF:
# Os 9 primeiros, sem os dois dígitos verificadores.
# Esses dois dígitos serão calculados adiante.
if [ "$cpf" ]
then
# Faltou ou sobrou algum número...
if [ ${#cpf} -ne 11 ]
then
validacpf="1";
echo $validacpf;
return
fi

# Apaga os dois últimos dígitos
base=${cpf%??}
else
# Não foi informado nenhum CPF, vamos gerar um escolhendo
# nove dígitos aleatoriamente para formar a base
while [ ${#cpf} -lt 9 ]
do
cpf="$cpf$((RANDOM % 9))"
done
base=$cpf
fi

# Truque para cada dígito da base ser guardado em $1, $2, $3, ...
set - $(echo $base | sed 's/./& /g')

# Explicação do algoritmo de geração/validação do CPF:
#
# Os primeiros 9 dígitos são livres, você pode digitar quaisquer
# números, não há seqüência. O que importa é que os dois últimos
# dígitos, chamados verificadores, estejam corretos.
#
# Estes dígitos são calculados em cima dos 9 primeiros, seguindo
# a seguinte fórmula:
#
# 1) Aplica a multiplicação de cada dígito na máscara de números
# que é de 10 a 2 para o primeiro dígito e de 11 a 3 para o segundo.
# 2) Depois tira o módulo de 11 do somatório dos resultados.
# 3) Diminui isso de 11 e se der 10 ou mais vira zero.
# 4) Pronto, achou o primeiro dígito verificador.
#
# Máscara : 10 9 8 7 6 5 4 3 2
# CPF : 2 2 5 4 3 7 1 0 1
# Multiplica: 20 + 18 + 40 + 28 + 18 + 35 + 4 + 0 + 2 = Somatória
#
# Para o segundo é praticamente igual, porém muda a máscara (11 - 3)
# e ao somatório é adicionado o dígito 1 multiplicado por 2.

### Cálculo do dígito verificador 1
# Passo 1
somatoria=0
for i in 10 9 8 7 6 5 4 3 2 ; do # máscara
# Cada um dos dígitos da base ($n) é multiplicado pelo
# seu número correspondente da máscara ($i) e adicionado
# na somatória.
n=$1
somatoria=$((somatoria + (i * n)))
shift
done
# Passo 2
digito1=$((11 - (somatoria % 11)))
# Passo 3
[ $digito1 -ge 10 ] && digito1=0

### Cálculo do dígito verificador 2
# Tudo igual ao anterior, primeiro setando $1, $2, $3, etc e
# depois fazendo os cálculos já explicados.
#
set - $(echo $base | sed 's/./& /g')
# Passo 1
somatoria=0
for i in 11 10 9 8 7 6 5 4 3; do
n=$1
somatoria=$((somatoria + (i * n)))
shift
done
# Passo 1 e meio (o dobro do verificador 1 entra na somatória)
somatoria=$((somatoria + digito1 * 2))
# Passo 2
digito2=$((11 - (somatoria % 11)))
# Passo 3
[ $digito2 -ge 10 ] && digito2=0

# Mostra ou valida
if [ ${#cpf} -eq 9 ]
then
# Esse CPF foi gerado aleatoriamente pela função.
# Apenas adiciona os dígitos verificadores e mostra na tela.
echo $cpf$digito1$digito2 |
sed 's/\(...\)\(...\)\(...\)/\1.\2.\3-/' # nnn.nnn.nnn-nn
else
# Esse CPF foi informado pelo usuário.
# Compara os verificadores informados com os calculados.
if [ "${cpf#?????????}" = "$digito1$digito2" ]
then
validacpf="0";
echo $validacpf;
return
else
# Boa ação do dia: mostrar quais os verificadores corretos
validacpf="1";
echo $validacpf;
return
fi
fi
}
############# FIM FUNCAO VERIFICA CPF ################

verificador=$(zzcpf $cpf01); ### RETORNA DA FUNÇÃO O VALOR "0" PARA CPFS OKS, RETORNA "1" PARA CPF NAO OK
### EM DOIS CASOS ELE RETORNA "1" ( SE FALTA DIGITOS OU SE O VERIFICADOR NAO CONFERE COM A MASCARA)

if [ "$verificador" -eq 0 ]
then
echo "CPF OK";
else
echo "CPF NO OK";
fi

################## TESTEI TAMBEM DESSA FORMA ##################################

if [ "$(zzcpf $cpf01)" -eq 0 ]
then
echo "CPF OK";
else
echo "CPF NO OK";
fi

################## FIM TESTE TAMBEM DESSA FORMA ################################
### FIM ####
--- Em zztabtab@..., Aurélio Jargas <verde@...> escreveu
>
> Como você está chamando a função? Chame pelo arquivo principal das
> funções, assim:
>
> funcoeszz cpf 123.456.789-10
>
> As outras funções funcionam ou é apenas a zzcpf? Pra testar, faça um:
>
> funcoeszz calcula 2 + 2
>
> Se nenhuma função funciona, pode ser problema de PATH. Inclua o
> caminho completo pra funções ZZ pra garantir.
>
> Não é pra ter nenhuma peculiaridade com a zzcpf em si, visto que ela
> só usa os comandos internos do próprio Bash, um tr e um sed simples.
>
> Testa aí e conta pra gente o que rolou.
>
> Abraço
>
>
> 2010/6/21 mrodrigomana <mrodrigomana@...>:
> > E ai pessoal, para usar a função zzcpf em CGI, há alguma peculiaridade?
> > Eu uso ela na shell e funciona como o esperado, quando utilizo coletando o cpf de um formulário html ( usando post ) não da certo.
> > Outros scripts estão OK, e o cpf vai certo, eu faço um teste com echo.
> > Se alguém souber de algo, posso até passar o script e o formulário, para saber como foi construído.
> >
> > Vlw abraçosssssss!!!!
> >
> >
> >
> > ------------------------------------
> >
> > --
> > Links do Yahoo! Grupos
> >
> >
> >
>
>
>
> --
> Aurélio | www.aurelio.net | @oreio
>


 

#814 De: "lucianolists" <luc-tech@...>
Data: Ter, 29 de Jun de 2010 8:00 am
Assunto: Como obter lista das Funções ZZ?
lucianolists
Enviar e-mail Enviar e-mail
 
Como faço para obter a lista completa de todas as Funções ZZ?
Eu preciso de todas, inclusive .zzextra, e eu preciso de uma
lista bem limpinha, para usar num loop. A lista que aparece em
zz{tab}{tab} é perfeita, mas é claro que não serve, preciso de
output para usar num script.

O meu problema é que eu uso tcsh e cansei de entrar no Bash
sempre que quero usar uma ZZ. Eu preciso de um output bem
bonito, para fazer um foreach no meu .tcshrc e transformar
cada função ZZ em alias (não existem funções em tcsh).

O output de 'zzzz' não serve para mim, pois só lista as funções
de .zzextra, e mesmo assim, de um jeito chato de extrair (observe
a pegadinha do Mallandro: não tem vírgula entre "kernel" e
"noticias").

luc$[503]/> zzzz
( local) /usr/bin/funcoeszz
(versão) 8.9 (ISO-8859-1)
( cores) sim
(   tmp) /tmp/zz
(bashrc) não instalado
(extras) /home/luc/.zzextra
(  site) http://funcoeszz.net

(( funções disponíveis ))
aulete, definr, delicious, english, euro, filme, globo, kernel
noticias, rastreamento, tvglobofilmes, tvglobograde

--
Luciano ES
>>

#815 De: Marcell Martini <marcellmartini@...>
Data: Ter, 29 de Jun de 2010 3:02 pm
Assunto: Re: [zz] Como obter lista das Funções ZZ?
marcellmartini
Enviar e-mail Enviar e-mail
 
Assim, só uma duvida. Você quer usar as zz no tcsh?, quando você instalou as zz, usa-te o zzzz --tcshrc? Por que pela saida do seu zzzz o teu tcshrc não foi instalado corretamente.


2010/6/29 lucianolists <luc-tech@...>
  

Como faço para obter a lista completa de todas as Funções ZZ?
Eu preciso de todas, inclusive .zzextra, e eu preciso de uma
lista bem limpinha, para usar num loop. A lista que aparece em
zz{tab}{tab} é perfeita, mas é claro que não serve, preciso de
output para usar num script.

O meu problema é que eu uso tcsh e cansei de entrar no Bash
sempre que quero usar uma ZZ. Eu preciso de um output bem
bonito, para fazer um foreach no meu .tcshrc e transformar
cada função ZZ em alias (não existem funções em tcsh).

O output de 'zzzz' não serve para mim, pois só lista as funções
de .zzextra, e mesmo assim, de um jeito chato de extrair (observe
a pegadinha do Mallandro: não tem vírgula entre "kernel" e
"noticias").

luc$[503]/> zzzz
( local) /usr/bin/funcoeszz
(versão) 8.9 (ISO-8859-1)
( cores) sim
( tmp) /tmp/zz
(bashrc) não instalado
(extras) /home/luc/.zzextra
( site) http://funcoeszz.net

(( funções disponíveis ))
aulete, definr, delicious, english, euro, filme, globo, kernel
noticias, rastreamento, tvglobofilmes, tvglobograde

--
Luciano ES
>>




--
Att.,

Marcell S. Martini
Red Hat Certified Engineer
IT Support Full Analyst - Information Technology
Instituto Nokia de Tecnologia
marcell.martini@...
Tel: 55 92 2126 1158
http://www.indt.org.br

mensagens 786 - 815 de 1015   Mais antigos  |  < Mais antigos  |  Mais recentes >  |  Mais recentes
mensagens 786 - 815 de 1015   Mais antigos  |  < Mais antigos  |  Mais recentes >  |  Mais recentes
Avançado

Copyright © 2010 Yahoo! do Brasil Internet Ltda. Todos os direitos reservados.
Política de Privacidade - Termos do Serviço - Diretrizes - Ajuda