Leandro eu pensei em truncar o número e somar +1 e aí comparar com o
outro número.
Você pode me ajudar nisso?
Preciso saber a posição do ponto e após isso filtrar até esta posição
pensei em fazer: echo ${numero: $[0]:$[posicaoPonto]}
como eu pego a posição do ponto...
se alguem puder me ajudar,
Opa, desculpe o sumiço...
Caramba, quanta ideia interessante... realmente preciso de uma explicação
sobre essa sacada genial ai com o eval... pq realmente fiquei boiando... mas
vai ser muito edificante aprender mais uma tecnica.
Aproveitando, analisei esse bloco e
não sabia que dava pra trabalh
ah sim, a comparação que fiz lá em cima, no if não imprime nada, já que é
falso :-) COloque um ! antes para imprimir :-)
if (( ! $(echo 2.0 == 1.006 | bc -l) )); then
echo isso é falso
fi
2009/12/2 Leandro Santiago
> cara, o bash não faz cálculo em ponto flutuante (com vírgula), mas a
> calcula
cara, o bash não faz cálculo em ponto flutuante (com vírgula), mas a
calculadora bc faz.
Dê uma olhada nisso:
echo 2.0 == 2.000 | bc -l
1
echo 2.0 == 1.23 | bc -l
0
O bc executa e devolve na tela 1 se é true e 0 se é false. Mas isto é
exatamente o oposto do que os comandos no linux retornam.
Aí
Caros, tenho um if do tipo:
if [ $x -ge $y] && [$x -ge 10 ]; then
no entanto tanto $x quanto $y é uma variável vinda de um resultado do
bc (Ex: 187.456 e 42.53)! como eu faço pra essa comparação no if dar
certo?
outra pergunta é o seguinte:
eu estou filtrando um arquivo retirando as linhas que
Pô Fabiano,
essa foi demais!!! Grande sacada!!! Quem te disse que não é elegante?
Elegantíssimo...
Achei a sacada do eval fantástica. Se vc não se incomodar, vou botar este
exemplo no meu livro.
Se não fosse o uso do eval, poderia assegurar que esta solução é bem mais
rápida que a que fiz usando