|
From: | Robson Alexandre |
Subject: | Re: [shell-script] É um número? |
Date: | Tue, 20 Nov 2018 01:46:38 -0200 |
#!/bin/bash
function is_numeric() {
[[ -z ${1//[0-9]/} ]]
return $?
}
is_numeric 12345 && echo "$_ É Numérico"
is_numeric '987kajsd123' || echo "$_ Não é numérico"
is_numeric "1234 " || echo "$_ Não é numérico"
function is_numeric() {
[[ $1 =~ ^-?[0-9]+[,.]?[0-9]+$ ]]
return $?
}
is_numeric -123,45 && echo "$_ É Numérico"
is_numeric '987.kajsd123' || echo "$_ Não é numérico"
is_numeric "1234.00 " || echo "$_ Não é numérico"
Boa Tarde Mestres Cerv... ops... Shelleiros! :-D
Estou com uma dúvida, e gostaria da ajuda dos senhores, se possível.
Quero testar se o conteúdo de uma variável é um número.... pesquisando
no google, achei muitas formulas malucas. Procurei também no man test,
e não achei nada simples (como uma opção -e por exemplo).
Cheguei em uma solução propria, e gostaria de ver se temos opções
melhores. Segue o teste longo que acabei fazendo...
###########################################################
#!/bin/bash
read -p "Insira o valor: " STRING
vt=$(wc -m <<<${STRING})
vc=$(wc -m <<<${STRING//[!0-9]/})
[[ $vt -eq $vc ]] && echo "Eh um numero" || echo "Eh uma string"
###########################################################
Desde já agradeço,
Abraços,
--
Vinicius Costa Carvalho
"Se enxerguei mais longe, foi porque me apoiei sobre os ombros de gigantes."
Isaac Newton
[Prev in Thread] Current Thread [Next in Thread]
- É um número?, Vinicius Costa Carvalho, 2018/11/19
- Re: [shell-script] É um número?, Robson Alexandre <=
- Re: [shell-script] É um número?, Vinicius Costa Carvalho, 2018/11/20
- Re: [shell-script] É um número?, Julio C. Neves, 2018/11/20
- Re: [shell-script] É um número?, Thomaz de Oliveira dos Reis, 2018/11/20
- Re: [shell-script] É um número?, Julio C. Neves, 2018/11/20
- Prev by Date: É um número?
- Next by Date: Re: [shell-script] Alternativa ao comando set usando read
- Previous by thread: É um número?
- Next by thread: Re: [shell-script] É um número?
- Index(es):