Fazendo Cálculo com Números Decimais em Shell Script Usando o bc

Olha vou dizer que essa deu dor de cabeça….

Estava eu pensando em criar um script … um check list com algumas informações relevantes para fazer um tuning em alguns bancos PostgreSQL.

Até ai tudo bem né .. o Shell Script da conta do recado. O que eu não contava é que o Shell Script trata tudo, seja la o que for, como texto.

Ai é que a porca começa a torcer o rabo, porque como eu vou fazer meu cálculo se no meio da expressão numérica tem números decimais????

Depois de muito queimar a mufa fui obrigada a pedir ajudar não aos universitários, mas sim para um cara fudaster chamado Julio Cezar Neves. É isso ai minha gente .. falou em Shell Script, ele é o cara. Obrigado Pela Ajuda Julio !!!!!

Bem, ele me ajudou com o tal cálculo falando da utilização do bc e também uma informação que é de extrema importância. O caractér usado para decimal conta na hora do cálculo, ou seja, um número decimal é interpretado através do . e não da , (isso depende do locale do S.O mas preferi nem mexer pra não feder mais)

Enfim, depois de muita luta e um olho roxo o cálculo saiu. O Script ainda não esta pronto, mas assim que tiver eu posto ele aqui.

Segue abaixo um exemplo de cálculo de expressões numéricas com decimais usando Shell Script !!!

shared=`cat $PRODUCAO/postgresql.conf | grep shared_buffers |awk ‘{print $3}’`

connection=`cat $PRODUCAO/postgresql.conf | grep max_connections |awk ‘{print $3}’`

calculo=`echo “scale=2; ((250 + 8.2 * $shared + 14.2 * $connection) * 1024) ” | bc`

echo $shared 185000
echo $connection 100
echo $calculo 1555118080.0

É isso ai minha gente …

Kenia Milene

8 thoughts on “Fazendo Cálculo com Números Decimais em Shell Script Usando o bc

    • Posso te ajudar numeros decimais são aqueles que se utiliza a virgula como por ex: 4,0 qualquer numero com somete zero depois da virgula e ele mesmo veja:6,0= 6 / 7,000= 7 se pode calcular decimais com todas as operações divisão: 6,0 dividido por 2 é : 3,00 ou 3 multiplicação: obs: na multiplicação com decimais a virgula desaparesse na conta e so appareçe no resultado 3,11 x 2 =6,22 desculpe mas so posso ter tempo de falar esses espero ter ajudado bjs

    • transfomaar 10 em fração com o 3 e depois trasfomar a fração em decimal !
      OBS : quando for trasfomar a fração em decimal contar quantos numeros vem depois da virgula . para transformar-o em decimal .
      Boa sorte !

Deixe uma Resposta

Preencha os seus detalhes abaixo ou clique num ícone para iniciar sessão:

Logótipo da WordPress.com

Está a comentar usando a sua conta WordPress.com Terminar Sessão / Alterar )

Imagem do Twitter

Está a comentar usando a sua conta Twitter Terminar Sessão / Alterar )

Facebook photo

Está a comentar usando a sua conta Facebook Terminar Sessão / Alterar )

Google+ photo

Está a comentar usando a sua conta Google+ Terminar Sessão / Alterar )

Connecting to %s