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

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

Re: [shell-script] teste numerico


From: Fabiano Caixeta Duarte
Subject: Re: [shell-script] teste numerico
Date: Wed, 24 Sep 2008 11:50:03 -0300

2008/9/24 Gmail <address@hidden>

>
>
> En/na jimmy ha escrit:
> >
> > On Wed, Sep 24, 2008 at 03:12:39PM +0200, Gmail wrote:
> > > En/na jimmy ha escrit:
> > > >
> > > > a expressão regular utilizada é "^[0-9]+$" e não "^[0-9]+" como você
> > > > mencionou.
> > > >
> > > > antes eu fazia esses testes com [ "$(echo $var | grep "^[0-9]+$")" ].
> > > >
> > > > On Tue, Sep 23, 2008 at 03:47:20PM -0300, Pablo Cardoso wrote:
> > > > > jimmy, esse método não só testa se o início da variável possui
> > números
> > > > > (pois usa o ^[0-9]+)?
> > > > >
> > > > > uma variável com valor "nome123" é filtrada nesse caso como
> numérico
> > > > > ou não numérico?
> > > > >
> > > > > []'s
> > > > >
> > > > >
> > > > > 2008/9/23 jimmy <address@hidden
> > <mailto:ronaldo_tgz%40yahoo.com.br <ronaldo_tgz%2540yahoo.com.br>>
> > > > <mailto:ronaldo_tgz%40yahoo.com.br <ronaldo_tgz%2540yahoo.com.br>>>:
> > > > > > talvez no seu caso seja possível utilizar um modo de testar
> > variáveis
> > > > > > que aprendi aqui na lista:
> > > > > >
> > > > > > $ var=0123456789
> > > > > > $ if [[ $var =~ "^[0-9]+$" ]]; then echo "numérico"; else echo
> > "não
> > > > > > numérico"; fi
> > > > > > numérico
> > > > > > $ var=string1
> > > > > > $ if [[ $var =~ "^[0-9]+$" ]]; then echo "numérico"; else echo
> > "não
> > > > > > numérico"; fi
> > > > > > não numérico
> > > > > >
> > > > > > On Tue, Sep 23, 2008 at 03:10:32PM -0300, Pablo Cardoso wrote:
> > > > > >> Hehehe resposta de principiante: você pode dar um echo na
> > variável e
> > > > > >> utilizar um pipe "tr -d [A-z]" para remover os caracteres que
> não
> > > > > >> sejam numéricos... Para validar, é só usar um if antes desse
> > comando.
> > > > > >>
> > > > > >> Claro que devem haver soluções mais elegantes :P
> > > > > >>
> > > no meu bash 3.2 do ubuntu 7.11 a sua expressão retorna sempre "não
> > numérico"
> >
> > posta o log do incidente ( seqüência de comandos + saida ).
> >
> > >
> > >
> > > Pere
> > >
> > > address@hidden <mailto:t.collons%40gmail.com<t.collons%2540gmail.com>
> >
> > <mailto:address@hidden 
> > <mailto:t.collons%40gmail.com<t.collons%2540gmail.com>
> >>
> > >
> > >
> > > <http://www.imatge.com/ <http://www.imatge.com/>>
> > >
> > >
> > >
> > >
> > > ------------------------------------
> >
> >
>
> --
>
> comando e "var=0123456 ; if [[ $var =~ "^[0-9]+$" ]]; then echo
> "numérico"; else echo "não numérico"; fi"
>
> resposta e "não numérico"


Você pode/deve remover as aspas da expressão regular.

var=0123456 ; if [[ $var =~ ^[0-9]+$ ]]; then echo "numérico"; else echo
"não numérico"; fi
numérico

Atenciosamente,

-- 
Fabiano Caixeta Duarte
Especialista em Redes de Computadores
Linux User #195299
Ribeirão Preto - SP


[As partes desta mensagem que não continham texto foram removidas]



reply via email to

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