![]() | O que são as funções ZZ? |
São funções úteis em bash de aplicações diversificadas.
Em um único arquivo estão mais de 60 funções para o interpretador bash, que são acessadas diretamente da linha de comando, sem cliques, janelas e perda de tempo.
As funções ZZ são resultado do trabalho de horas vagas de duas pessoas, auxiliadas por vários outros colaboradores, que têm como objetivo disponibilizar uma ferramenta útil para a comunidade. A licença de uso é a GPL.
Aqui vai um resumão da capacidades das funções:
| Manipular arquivos | Fazer consultas na internet | |
|---|---|---|
| Apagar linhas repetidas (sem ordenar) | Dicionários (Português, Jargon, ABL, Wikipedia) | |
| Apagar comentários e linhas em branco | Tradutores (Babylon, Babelfish) | |
| Arrumar nome do arquivo (bom pra MP3) | Notícias de linux (Br-Linux, Yahoo, Cipsga, InfoExame) | |
| Trocar a extensão | Notícias gringas de linux (Freshmeat, /., LWN, OSNews) | |
| Trocar palavras de seu conteúdo | Restituição do imposto de renda, CEP, loteria | |
| Diff para palavras e não linhas | Detran (Paraná e São Paulo) | |
| Achar os maiores de um diretório | Programação da TV aberta, Letras de música | |
| Dos2linux, linux2dos | Siglas, whois, HOWTO, chave PGP | |
| Renomear arquivos de fotos | Google, Dicas-L, Freshmeat, Rpmfind | |
| Extrair uma linha aleatória qualquer | Pronúncia de palavras em inglês | |
| Condições do tempo, Horário em outro país | ||
| Cotação de moedas, Cotação detalhada do Dólar, Bovespa | ||
| Fazer cálculos | E outras... | |
| Calculadora | Gerador de senha | |
| Espaço ocupado em disco por um RPM | Gerador de tabela ASCII | |
| Cálculos com datas | Tabela de cores do terminal | |
| Cálculos com horas | Limpar arquivos de configuração | |
| Contagem de ocorrências de palavras | Screen Saver para console | |
| Conversão entre graus/distância/números | Conversão entre maiúsculas e minúsculas | |
| Geração/validação de CPF e CNPJ |
Por quê ZZ? Simplesmente porque elas precisavam de um prefixo que não confundisse com nenhum outro comando do sistema, para se poder fazer zz<TAB><TAB> e ver de uma vez todas as funções.
Oi, eu sou o Aurélio e criei as funções ZZ em 22 de Fevereiro de 2000.
Elas começaram tímidas, umas 3 ou 4 funções que eram de uso interno na Conectiva, como acessar dicionário de inglês, e dos2linux.
Com o tempo, os funcionários da empresa foram usando e sugerindo melhorias, bem como funções novas. Sete meses se passaram nesse período encubatório e o pacote cresceu para pouco mais de 20 funções de uso geral, como trocar palavras, extensão de arquivo e cálculos.
Acreditando que as funções poderiam ser úteis para outras pessoas de fora da empresa também, decidi fazer um anúncio público delas.
Aos poucos o pessoal foi experimentando e gostando. Hora ou outra aparecia um comentário de alguém que tinha achado um probleminha ou dando sugestão de uma função nova, então com motivação o pacote foi crescendo e melhorando.
Como várias funções fazem pesquisa em páginas de Internet, e estas mudam a todo instante, os comentários dos usuários são fundamentais para que tudo esteja sempre atualizado e funcionado.
Quando completaram um ano e meio de existência, as quase 30 funções foram incluídas como parte do Conectiva Linux. Este foi o estopim para que mais pessoas as conhecessem e a base de usuários aumentou bastante.
Algum tempo depois, quando as funções completaram 2 anos um usuário em especial me chamou a atenção. Recebi um e-mail de um tal de Thobias, que sugeriu uma função nova (zzsigla), e inédito: já enviou o código pronto! O tempo foi passando e o Thobias sempre estava antenado, me avisando de bugs, sugerindo funções novas e contribuindo com código.
Após 15 meses de contribuição voluntária e não remunerada ao pacote, nos tornamos bons amigos e o Thobias me ajudou a melhorar e inchar o pacote, aumentando para 50 o número de funções. Como reconhecimento por seu trabalho e dedicação, e para oficializar o que já vinha ocorrendo na prática, em 06/05/2003 decidi empossar o Thobias como co-autor das funções ZZ. Não é mantenedor nem testador, é autor mesmo, pois as funções são codificadas a quatro mãos. O Thobias tem sua própria versão dessa história.
Em Julho de 2003, as Funções ZZ ganharam um logotipo e um livro de visitas, para os usuários registrarem suas impressões.
E daqui pra frente, que surpresas virão?
![]() | Gostei! Por Onde Começo? |
Antes de mais nada, você deve ter o interpretador bash rodando. Se você usa Linux, com certeza ele já está instalado e funcionando. Se você usa UNIX, o shell padrão é outro, então o bash deve ser instalado. Se usa Windows, você deve baixar um bash que funcione no Windows ou instalar o Cygwin.
As funções estão concentradas num único arquivo texto, basta baixá-lo e pronto.
| ATENÇÃO: Não copie e cole, baixe o arquivo |
O arquivo deve ser baixado e não copiado e colado, pois algumas funções utilizam caracteres especiais que o mouse não consegue copiar, e sem eles elas não funcionarão.
A versão mais recente das funções é a 5.0519. Clique aqui para fazer o download ( 88 Kb).
Para os saudosistas, também é possível baixar as versões antigas das funções. 100% inútil, mas pra quem gosta, basta navegar no depósito ZZ.
Se você já tem as funções ZZ instaladas, baixe a versão nova com o comando:
prompt$ zzzz --atualiza
Baixou o arquivo? Então agora faça o primeiro teste de funcionamento. No mesmo diretório onde está o arquivo recém-baixado, digite:
prompt$ bash funcoeszz cores
E a tabela de cores do terminal deve ser impressa:

Agora que você já testou e sabe que as funções estão funcionado com a configuração de seu sistema, torne o arquivo executável e copie-o para um diretório que está no PATH.
prompt$ chmod +x funcoeszz
prompt$ cp funcoeszz /usr/bin
Caso você não consiga gravar arquivos no /usr/bin, escolha qualquer
outro diretório que esteja listado na variável de ambiente $PATH.
Agora que o arquivo das funções é um executável, você pode chamá-lo diretamente:
prompt$ funcoeszz cores
Este passo é opcional, mas facilita muito o uso das funções.
Como o arquivo é um apanhado de funções individuais, você pode inclui-las no seu shell atual, podendo chamá-las diretamente pelo nome, utilizando o prefixo zz. Este procedimento só precisa ser feito uma vez, fique tranquilo.
Se você se garante editando arquivos importantes, adicione a seguinte
linha no final de seu ~/.bashrc:
source /usr/bin/funcoeszz
Ou então, deixe que as próprias funções façam isso para você. O comando seguinte inclui a linha automaticamente no seu .bashrc:
prompt$ funcoeszz zzzz --bashrc
Beleza! Agora é preciso fechar a sessão/janela e entrar no terminal novamente para que essas alterações funcionem.
Já saiu do terminal e entrou de novo? Então agora você pode chamar as funções diretamente:
prompt$ zzcores
Note que é necessário utilizar o prefixo zz antes do nome da função. Por isso elas se chamam funções ZZ!
Para ver rapidamente todas as funções disponíveis, use o "TAB completion" do bash:
prompt$ zz<TAB><TAB>
Para quem usa as funções pelo executável, use o comando seguinte para ter a listagem de todas as funções:
prompt$ funcoeszz zzzz
Se ficar na dúvida sobre alguma função, chame-a com o --help para
obter informações adicionais:
prompt$ zzgoogle --help
http://google.com
retorna apenas os títulos e links do resultado da pesquisa no Google
uso: zzgoogle [-n <número>] palavra(s)
ex.: zzgoogle receita de bolo de abacaxi
zzgoogle -n 5 ramones papel higiênico cachorro
Após algum tempo usando, não se esqueça de assinar nosso LIVRO de VISITAS e registrar sua experiência, dizendo se gostou ou não das funções!
$ZZWWW*
-post-data usada na variável $ZZWWWPOST só funciona com lynx
versão v2.8.4 ou superior
.bashrc (gdm parece ser um exemplo), coloque ao invés um alias
para digitar zz e ativar as funcoes:
alias zz="source /usr/bin/funcoeszz"
~/.bashrc:
export http_proxy=http://proxy.dominio.com.br:3128 export https_proxy=http://proxy.dominio.com.br:3128
~/.bashrc:
alias lynx="lynx -pauth=usuario:senha"
sed: -e expression #1, char 218: strings for `y' command are different lengthsBasta converter o arquivo das funções para UTF com o seguinte comando:
iconv -f iso-8859-1 -t utf-8 funcoeszz > funcoeszz-utf
![]() | Mais Detalhes Sobre as Funções |
Quer saber mais antes de instalar? Tudo bem, aqui vão mais detalhes:
| Nº | função | descrição |
|---|---|---|
| 1 | zzajuda | Mostra uma tela de ajuda com explicação e sintaxe de todas as funções |
| 2 | zzarrumanome | Renomeia arquivos do diretório atual, arrumando nomes estranhos |
| 3 | zzascii | Mostra a tabela ASCII com todos os caracteres imprimíveis (32-126,161-255) |
| 4 | zzbeep | Aguarda N minutos e dispara uma sirene usando o 'speaker' |
| 5 | zzbovespa | Busca a cotação de uma ação na Bovespa |
| 6 | zzcalcula | Calculadora: + - / * ^ % # mais operadores, ver `man bc` |
| 7 | zzcep | Busca o CEP de qualquer rua de qualquer cidade do país ou vice-versa |
| 8 | zzchavepgp | Busca a identificação da chave PGP, fornecido o nome ou email da pessoa |
| 9 | zzcinclude | Acha as funções de uma biblioteca da linguagem C (arquivos .h) |
| 10 | zzcnpj | Gera um CNPJ válido aleatório ou valida um CNPJ informado |
| 11 | zzcontapalavra | Conta o número de vezes que uma palavra aparece num arquivo |
| 12 | zzconverte | Faz várias conversões como: caracteres, temperatura e distância |
| 13 | zzcores | Mostra todas as combinações de cores possíveis no console |
| 14 | zzcpf | Gera um CPF válido aleatório ou valida um CPF informado |
| 15 | zzdata | Faz cálculos com datas e/ou converte data->num e num->data |
| 16 | zzdetranpr | Consulta débitos do veículo, como licenciamento, IPVA e multas (detran-PR) |
| 17 | zzdetransp | Consulta débitos do veículo, como licenciamento, IPVA e multas (detran-SP) |
| 18 | zzdicabl | Dicionário da ABL - Academia Brasileira de Letras |
| 19 | zzdicasl | Procura por dicas sobre determinado assunto na lista Dicas-L |
| 20 | zzdicbabelfish | Faz traduções de palavras/frases/textos entre idiomas |
| 21 | zzdicbabylon | Tradução de UMA PALAVRA em inglês para vários idiomas |
| 22 | zzdicjargon | Dicionário de jargões de informática, em inglês |
| 23 | zzdicportugues | Dicionário de português (de Portugal) |
| 24 | zzdictodos | Usa todas as funções de dicionário e tradução de uma vez |
| 25 | zzdiffpalavra | Mostra a diferença entre dois textos, mas no contexto de palavras |
| 26 | zzdolar | Busca a cotação do dia do dólar (comercial, paralelo e turismo) |
| 27 | zzdominiopais | Busca a descrição de um código de país da internet (.br, .ca etc) |
| 28 | zzdos2linux | Conversão de arquivos texto entre DOS e Linux |
| 29 | zzfreshmeat | Procura por programas na base do freshmeat |
| 30 | zzgoogle | Retorna apenas os títulos e links do resultado da pesquisa no Google |
| 31 | zzhora | Faz cálculos com horários |
| 32 | zzhoracerta | Mostra a hora certa de um determinado local |
| 33 | zzhowto | Procura de documentos HOWTO |
| 34 | zzirpf | Consulta os lotes de restituição do imposto de renda |
| 35 | zzkill | Mata os processos que tenham o(s) padrão(ões) especificado(s) |
| 36 | zzletrademusica | Busca letras de músicas, procurando pelo nome da música |
| 37 | zzlimpalixo | Retira linhas em branco e comentários |
| 38 | zzlinha | Mostra uma linha de um texto, aleatória ou informada pelo número |
| 39 | zzlinux2dos | Conversão de arquivos texto entre DOS e Linux |
| 40 | zzlinuxnews | Busca as últimas notícias sobre linux em páginas em inglês. |
| 41 | zzloteria | Consulta os resultados da quina, megasena, duplasena, lotomania e lotofácil |
| 42 | zzmaiores | Acha os 15 maiores arquivos/diretórios do diretório atual (ou especificados) |
| 43 | zzmaiusculas | Conversão de letras entre minúsculas e MAIÚSCULAS, inclusive acentuadas |
| 44 | zzminusculas | Conversão de letras entre minúsculas e MAIÚSCULAS, inclusive acentuadas |
| 45 | zzmoeda | Busca a cotação de várias moedas (mais de 100!) em relação ao dólar |
| 46 | zznatal | A mensagem "Feliz Natal" em vários idiomas |
| 47 | zznextel | Envia uma mensagem para um telefone NEXTEL (via rádio) |
| 48 | zznomefoto | Renomeia arquivos do diretório atual, arrumando a seqüência numérica |
| 49 | zznoticiaslinux | Busca as últimas notícias sobre linux em páginas nacionais |
| 50 | zznoticiassec | Busca as últimas notícias em sites especializados em segurança |
| 51 | zzpronuncia | Toca um .wav que contém a pronúncia correta de uma palavra em inglês |
| 52 | zzramones | Procura frases de letras de músicas da banda Ramones |
| 53 | zzrpmfind | Procura por pacotes RPM em várias distribuições |
| 54 | zzsecurity | Mostra os últimos 5 avisos de segurança de várias distribuições e SO |
| 55 | zzsenha | Gera uma senha aleatória de N caracteres formada por letras e números |
| 56 | zzsigla | Dicionário de siglas, sobre qualquer assunto (como DVD, IMHO, WYSIWYG) |
| 57 | zzss | Screen Saver para console, com cores e temas |
| 58 | zztempo | Mostra as condições do tempo em um determinado local |
| 59 | zztrocaarquivos | Troca o conteúdo de dois arquivos, mantendo suas permissões originais |
| 60 | zztrocaextensao | Troca a extensão de um (ou vários) arquivo especificado |
| 61 | zztrocapalavra | Troca uma palavra por outra em um (ou vários) arquivo especificado |
| 62 | zztv | Consulta a programação do dia dos canais abertos da TV |
| 63 | zzuniq | Retira as linhas repetidas (consecutivas ou não) |
| 64 | zzwhoisbr | Whois da fapesp para domínios brasileiros |
| 65 | zzwikipedia | Procura no Wikipédia (enciclopédia livre) |
| 66 | zzzz | Mostra informações (como versão e localidade) sobre as funções |

prompt$ zzsenha qyYx5m prompt$ zzsenha aDQjIu prompt$ zzsenha 16 X31dUKawB7OIWc4l prompt$ zzdicabl estorvo estorvo (ô) s.m. cf. estorvo, do v. estorvar estorvor (ô) s.m. prompt$ zzdolar 07/05/2003 compra venda hora Comercial 2.955 2.962 15:20 Paralelo 2.980 3.060 14:57 Turismo 2.930 3.030 14:57 prompt$ zzlimpalixo /etc/inetd.conf ftp stream tcp nowait root /usr/sbin/tcpd in.ftpd -l -a talk dgram udp wait root /usr/sbin/tcpd in.talkd pop-3 stream tcp nowait root /usr/sbin/tcpd ipop3d prompt$ zztrocaextensao .HTM .html * `index.HTM' -> `index.html' `download.HTM' -> `download.html' `about.HTM' -> `about.html' prompt$ zzascii 7 80 | head -6 190 caracteres, 7 colunas, 28 linhas, 80 de largura 32 040 60 074 < 88 130 X 116 164 t 178 262 ² 206 316 Î 234 352 ê 33 041 ! 61 075 = 89 131 Y 117 165 u 179 263 ³ 207 317 Ï 235 353 ë 34 042 " 62 076 > 90 132 Z 118 166 v 180 264 ´ 208 320 Ð 236 354 ì 35 043 # 63 077 ? 91 133 [ 119 167 w 181 265 µ 209 321 Ñ 237 355 í 36 044 $ 64 100 @ 92 134 \ 120 170 x 182 266 ¶ 210 322 Ò 238 356 î prompt$ zzarrumanome * `RAMONES - I Don\'t Care.mp3' -> `ramones-i_dont_care.mp3' `Red Hot Chilli Peppers - Give It Away.mp3' -> `red_hot_chilli_peppers-give_it_away.mp3' prompt$ zzdominiopais cx local: CX Christmas Island www : .cx - Christmas Island prompt$ zzcalcula '11*(2^8+sqrt(16))+0.34' 2860.34 prompt$ zzdata 22/12/1999 + 69 29/02/2000 prompt$ zzdata 01/03/2000 - 11/11/1999 111 prompt$ zzhora 54:45 + 32:51 87:36 (3d 15h 36m) prompt$ zzhora 12:00 - agora # quanto falta para o almoço! 00:50 (0d 0h 50m) prompt$ zzconverte km 110 110 km = 68.3540 milhas prompt$ echo NÃO GRITE COMIGO, ISSO NÃO TEM GRAÇA | zzminusculas não grite comigo, isso não tem graça prompt$ zzcontapalavra root /etc/passwd 3 prompt$ zzgoogle -n 4 "seu madruga" "homer simpson" frases -blog O aurélio http://aurelio.net/mim.html Frases e curiosidades http://www.geocities.com/plythief/frases.html NaDaVê AgApÊ http://nadavehp.vila.bol.com.br/ webs.ono.com/usr014/paugq/web_personal/cites.txt http://webs.ono.com/usr014/paugq/web_personal/cites.txt prompt$ zznomefoto -p festa- -d 2 *.JPG DSC0234.JPG -> festa-01.JPG DSC0239.JPG -> festa-02.JPG DSC0243.JPG -> festa-03.JPG DSC0255.JPG -> festa-04.JPG DSC0260.JPG -> festa-05.JPG prompt$ zzcpf 277.422.212-50 prompt$ zzcpf 277.422.212-99 CPF inválido (-50) prompt$ zzcnpj 80.401.741/0001-13 prompt$ zzloteria quina: 14 - 19 - 21 - 54 - 78 Concurso 1372 (09/11/2004) megasena: 12 - 16 - 31 - 48 - 57 - 60 Concurso 614 (10/11/2004) duplasena: 24 - 25 - 28 - 32 - 36 - 41 Concurso 303 (09/11/2004) lotomania: 02 - 08 - 15 - 17 - 21 - 32 - 42 - 43 - 49 - 59 67 - 71 - 72 - 73 - 80 - 84 - 86 - 88 - 91 - 97 Concurso 468 (10/11/2004) lotofacil: 01 - 03 - 05 - 06 - 07 08 - 10 - 11 - 13 - 14 15 - 19 - 20 - 23 - 25 Concurso 59 (08/11/2004)
![]() | Changelog |
seq
![]() | Lista de Anúncios e Discussão |
A lista zzTABTAB é onde são postados os anúncios de versões novas da funções e lá também podem ser discutidas sugestões de funções novas e melhorias nas já existentes.
O tráfego é baixo, assine, você não tem nada a perder!
Para assinar, mande e-mail para [email protected] ou acesse http://br.groups.yahoo.com/group/zztabtab
![]() | Agradecimentos |
Pessoas que contribuiram com dicas, idéias, informações e código. As funções nada seriam sem vocês, MUITO OBRIGADO.
|
|
![]() | Quero Ajudar Vocês, Como Faço? |
Toda e qualquer ajuda para manter o pacote das ZZ atualizado e funcional é bem-vinda. Há várias maneiras de contribuir.
http://aurelio.net/zz)
Para avisar de erros ou sugestões, mande mensagem para a lista de discussão ZZtabtab -> http://br.groups.yahoo.com/group/zztabtab, ou entre em contato com os autores:
| Aurelio Marinho Jargas | verde (a) aurelio net |
| Thobias Salazar Trevisan | thobias (a) thobias org |
![]() | APÊNDICE: Para Quê "Perder Tempo" Fazendo Software Livre??? |
Data: Tue, 25 Feb 2003 16:48:57 -0300 (BRT) De: "Paulo A. H. Rodrigues" <[email protected]> Aurelio, Estou escrevendo para lhe agradecer. Tenho um colega deficiente visual que está apreendendo linux, ele usa as funções zz o que tem sido muito util. As vezes nem imaginamos o quando é dificil para quem não enxerga poder consultar um dicionario, saber qual a programação de um canal de TV e outros. A Internet fornece um numero enorme de recursos, graças ao seu trabalho um deficiente visual está podendo vê-la melhor. Muito Obrigado ! Atenciosamente, Paulo A. H. Rodrigues ------------------------------------------------------------------ Do livro de visitas: [2004/04/21 13:44] Tiago M. Casal <[email protected]> (Salvador, BA) Sou cego e estou usando as Funções ZZ pelo CygWin no Windows, com um Leitor de Telas. Muito legal, gostei.
| Não esqueça de assinar o LIVRO de VISITAS! |
| livro regex | wizard txt2regex | conversor txt2tags | debugger sedsed | jogo sokoban.sed |
