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

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

Re: [shell-script] if com valores decimais


From: Valtoir
Subject: Re: [shell-script] if com valores decimais
Date: Mon, 25 Jul 2011 21:49:18 -0300

Entendi que há um valor por linha:

echo -e "0.567\n0.678\n2.234\n1.000\n1.567" | grep -v 0....

Valtoir

Em 25 de julho de 2011 19:34, Denis Costa <address@hidden> escreveu:
> Pode ser feito com bc.
>
> $ bc <<< 'if (0.23 >= 1) print "1\n"'
> $ bc <<< 'if (3.23 >= 1) print "1\n"'
> 1
>
>
> --
> Denis Silva Costa
> Graduando em Informática (Banco de dados) - Fatec - São José dos Campos
> Usuário Linux: #516577
> Usuário Ubuntu: #31758
> Certificado LPIC-1, CLA
> "May the force be with you"
>
>
>
> Em 25 de julho de 2011 19:28, Elder Marco <address@hidden> escreveu:
>
>> **
>>
>>
>> 2011/7/25 sergio <address@hidden>
>>
>> > **
>>
>> >
>> >
>> > Caros, mais uma vez...rs
>> > tenho um arquivo com n valores...todos quebrados...ex(0.567, 0.678,
>> > 0.234.....) e assim vai.
>> > Preciso pegar os valores que são maior ou igual a 1.
>> > Então pensei em um for para ir pegando as linhas e um if para checar o
>> > valor...mas quando coloco no if ex.. a=0.567; b=1; test $a -eq $b
>> > ele me retorna o erro:
>> >
>> > bash: test: 0.531: esperado expressão de número inteiro
>> >
>> > nunca trabalhei com decimal no shell..alguem pode me ajudar?
>> >
>> > Obrigado novamente.
>> >
>> >
>> > Você poderia utilizar o awk pra isso. Troque as vírgulas por quebras de
>> linha e utilize a saída como uma entrada para o awk. Veja um exemplo:
>>
>> $ cat teste.dat
>> 0.587, 0.598, 1.2, 0.5, 3.2
>>
>> $ tr ',' '\n' < teste.dat | awk '$1 > 1 { print $1 }'
>> 1.2
>> 3.2
>>
>> ---
>> Elder Marco
>>
>> GNU/Linux User: #471180
>>
>> "Contra o positivismo, que pára perante os fenômenos e diz: 'Há apenas
>> fatos', eu digo: 'Ao contrário, fatos é o que não há; há apenas
>> interpretações'. "(Nietzsche)
>>
>> [As partes desta mensagem que não continham texto foram removidas]
>>
>>
>>
>
>
> [As partes desta mensagem que não continham texto foram removidas]
>
>
>
> ------------------------------------
>
> ---------------------------------------------------------------------
> 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]