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 11:18:11 -0200

Gentil,
e se vc fizesse assim:

function gseq() {
    vi=${1}
    vf=${2}
    seq $vi $vf | xargs printf "%0${#vi}d\n"
}

[ ]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: Gentil de Bortoli Júnior [mailto:address@hidden]
| Enviada em: sexta-feira, 10 de fevereiro de 2006 09:55
| Para: Lista Shell-Script
| Assunto: [shell-script] Outras Formas de Fazer Isso
| 
| 
| 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.
| 
| []s
| 
| --
| Gentil de Bortoli Júnior
| Chave GPG: http://gentil.bortoli.com.br/gpg
| 
| "There Is No Gene For The Human Spirit"
| 
| 
| ---------------------------------------------------------------------
| 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]