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

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

RES: [shell-script] Outras Formas de Fazer Isso


From: Julio Cezar Neves - DATAPREVRJ
Subject: RES: [shell-script] Outras Formas de Fazer Isso
Date: Fri, 10 Feb 2006 15:05:35 -0200

Eliphas sumiu e reapareceu com força total!

Nessa vc extrapolou :)

[ ]s,
Julio
==================================
ENSOL: dias 12, 13 e 14 de maio
na Universidade Federal da Paraíba.
Veja detalhes em http://www.ensol.org.br
http://www.julioneves.com


| -----Mensagem original-----
| De: Eliphas Levy Theodoro [mailto:address@hidden]
| Enviada em: sexta-feira, 10 de fevereiro de 2006 14:30
| Para: address@hidden
| Assunto: Re: [shell-script] Outras Formas de Fazer Isso
| 
| 
| Não sei o seq de vocês, mas acho que o meu é turbinado ';)
| 
| eliphas@microsoft$ seq -f %05.0f 10 15
| 00010
| 00011
| 00012
| 00013
| 00014
| 00015
| eliphas@microsoft$ seq --version
| seq (coreutils) 5.2.1
| eliphas@microsoft$
| 
| Eu usei o --format que tem na minha manpage, que 
| aparentemente não era 
| pra isso, mas funciona hehe
| 
| -f, --format=FORMAT  use printf style floating-point FORMAT 
| (default: %g)
| 
| Ele não aceita %5d ou algo assim, só o %f ou %g pra pontos 
| flutuantes. 
| Mas dá pra cortar o ponto flutuante!
| 
| [ ]'s
| -- 
| Eliphas
| 
| Julio Cezar Neves - DATAPREVRJ escreveu:
| > Gentil,
| > e se vc fizesse assim:
| >
| > function gseq() {
| > vi=${1}
| > vf=${2}
| > seq $vi $vf | xargs printf "%0${#vi}d\n"
| > }
| 
| > | De: Gentil de Bortoli Júnior
| > |
| > | Pessoal, precisei gerar uma seqüência numérica para um 
| det. problema.
| > | O comando seq normalmente ajudaria, mas há um porém.
| > |
| > | Os meus intervalos funcionam da seguinte forma.
| > |
| > | Exemplo 1
| > | Entrada: [001-010]
| > | Saída: 001 002 003 004 .. 010
| > |
| > | Exemplo 2
| > | Entrada: [0000001-000000010]
| > | Saída: 0000001 0000002 0000003 .. 0000010
| > |
| > | Dei uma olhada no manual do seq e infelizmente, pelo que entendi,
| > | o mais próximo que ele chega disso é empregando a opção -w,
| > | que não resolve.
| > |
| > | Decidi então fazer uma função bem simples para isso.
| > |
| > | Eu gostaria de saber se alguém conhece outra forma de conseguir
| > | esse resultado ou se alguém tem alguma sugestão para a função.
| > |
| > | Segue o código:
| > |
| > | function gseq() {
| > | vi=${1}
| > | vf=${2}
| > |
| > | for v in $(seq ${vi} ${vf}); do
| > | printf "%0${#vi}d\n" ${v}
| > | done
| > | }
| > |
| > | Exemplo de uso:
| > |
| > | gseq.sh 00000001 20
| > |
| > | Saída: 00000001 00000002 .. 00000020
| > |
| > | Ou seja, o primeiro parâmetro serve como especificador de
| > | formato e valor
| > | inicial e o segundo parâmetro indica o final da seqüência.
| 
| 
| ---------------------------------------------------------------------
| Esta lista não admite a abordagem de outras liguagens de 
| programação, como perl, C etc. Quem insistir em não seguir 
| esta regra será moderado sem prévio aviso.
| ---------------------------------------------------------------------
| Sair da lista: address@hidden
| ---------------------------------------------------------------------
| Esta lista é moderada de acordo com o previsto em 
http://www.listas-discussao.cjb.net
---------------------------------------------------------------------
Servidor Newsgroup da lista: news.gmane.org
Grupo: gmane.org.user-groups.programming.shell.brazil

 
Links do Yahoo! Grupos




 



reply via email to

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