Tiago, Muito obrigado pela ajuda a linha ficou a seguinte:
echo $((($memtotal - ($memused + $bufused))*100/$memtotal)) A única coisa que gostaria de fazer pra ficar perfeito e que ainda nõa consegui é fazer com que a saída tenha duas casas decimais. Atenciosamente, Willians ----- Mensagem original ---- De: Tiago Barcellos Peczenyj <[EMAIL PROTECTED]> Para: [email protected] Enviadas: Terça-feira, 13 de Fevereiro de 2007 16:46:33 Assunto: Re: [shell-script] Calculo com variáveis Ola, vc pode usar bc + here strings bc <<< "scale=10(( ${memtotal} -( ${memfree} + ${buffree})) / ${memtotal}) *100" ou awk puro, usando NR para identificar a linha ;) awk 'NR==2{ m_total = $2; m_livre = $4;} NR == 3{ b_livre = $4} END{ print "o resultado eh: ",100*((m_total - (m_livre + b_livre))/m_ total) }' saida.out On 2/13/07, williansantunes <williansantunes@ yahoo.com. br> wrote: > > > > > > > Olá pessoal, > > Estou com a seguinte necessidade. Preciso obter o resultado da > expressão abaixo: > > topmem = ((memtotal -(memfree+buffree) )/memtotal) *100 > > as variáveis foram declaradas assim: > > memtotal=`head -2 saida.out |tail -1 |awk '{print $2}'` > memused=`head -2 saida.out |tail -1 |awk '{print $3}'` > memfree=`head -2 saida.out |tail -1 |awk '{print $4}'` > > bufused=`head -3 saida.out |tail -1 |awk '{print $3}'` > buffree=`head -3 saida.out |tail -1 |awk '{print $4}'` > > swaptotal=`head -4 saida.out |tail -1|awk '{print $2}'` > swapused=`head -4 saida.out |tail -1|awk '{print $3}'` > swapfree=`head -4 saida.out |tail -1|awk '{print $4}'` > > Qual a melhor maneira de fazer isso? BC? Expr? outra ? > > Abraços! E desde já muito obrigado! > > Willians > > -- Tiago B Peczenyj Linux User #405772 # cd /pub # more beer <!-- #ygrp-mlmsg {font-size:13px;font-family:arial,helvetica,clean,sans-serif;} #ygrp-mlmsg table {font-size:inherit;font:100%;} #ygrp-mlmsg select, input, textarea {font:99% arial,helvetica,clean,sans-serif;} #ygrp-mlmsg pre, code {font:115% monospace;} #ygrp-mlmsg * {line-height:1.22em;} #ygrp-text{ font-family:Georgia; } #ygrp-text p{ margin:0 0 1em 0; } #ygrp-tpmsgs{ font-family:Arial; clear:both; } #ygrp-vitnav{ padding-top:10px; font-family:Verdana; font-size:77%; margin:0; } #ygrp-vitnav a{ padding:0 1px; } #ygrp-actbar{ clear:both; margin:25px 0; white-space:nowrap; color:#666; text-align:right; } #ygrp-actbar .left{ float:left; white-space:nowrap; } .bld{font-weight:bold;} #ygrp-grft{ font-family:Verdana; font-size:77%; padding:15px 0; } #ygrp-ft{ font-family:verdana; font-size:77%; border-top:1px solid #666; padding:5px 0; } #ygrp-mlmsg #logo{ padding-bottom:10px; } #ygrp-vital{ background-color:#e0ecee; margin-bottom:20px; padding:2px 0 8px 8px; } #ygrp-vital #vithd{ font-size:77%; font-family:Verdana; font-weight:bold; color:#333; text-transform:uppercase; } #ygrp-vital ul{ padding:0; margin:2px 0; } #ygrp-vital ul li{ list-style-type:none; clear:both; border:1px solid #e0ecee; } #ygrp-vital ul li .ct{ font-weight:bold; color:#ff7900; float:right; width:2em; text-align:right; padding-right:.5em; } #ygrp-vital ul li .cat{ font-weight:bold; } #ygrp-vital a { text-decoration:none; } #ygrp-vital a:hover{ text-decoration:underline; } #ygrp-sponsor #hd{ color:#999; font-size:77%; } #ygrp-sponsor #ov{ padding:6px 13px; background-color:#e0ecee; margin-bottom:20px; } #ygrp-sponsor #ov ul{ padding:0 0 0 8px; margin:0; } #ygrp-sponsor #ov li{ list-style-type:square; padding:6px 0; font-size:77%; } #ygrp-sponsor #ov li a{ text-decoration:none; font-size:130%; } #ygrp-sponsor #nc { background-color:#eee; margin-bottom:20px; padding:0 8px; } #ygrp-sponsor .ad{ padding:8px 0; } #ygrp-sponsor .ad #hd1{ font-family:Arial; font-weight:bold; color:#628c2a; font-size:100%; line-height:122%; } #ygrp-sponsor .ad a{ text-decoration:none; } #ygrp-sponsor .ad a:hover{ text-decoration:underline; } #ygrp-sponsor .ad p{ margin:0; } o {font-size:0;} .MsoNormal { margin:0 0 0 0; } #ygrp-text tt{ font-size:120%; } blockquote{margin:0 0 0 4px;} .replbq {margin:4;} --> __________________________________________________ Fale com seus amigos de graça com o novo Yahoo! Messenger http://br.messenger.yahoo.com/ [As partes desta mensagem que não continham texto foram removidas]
