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

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

Re: awk não soma decimais ...


From: Marcelo G. Dias
Subject: Re: awk não soma decimais ...
Date: Sat, 05 Feb 2005 20:47:44 -0200
User-agent: Mozilla Thunderbird 1.0 (X11/20041206)

all...

galera acabei achando a resposta via re-leitura da bíblia de shell
script do "Pastor" Julio ... :-)

vai ai o que achei para resolver o problema com a soma das casas decimais.

awk -F"::" '{VALOR=$16} sub (/\./, "," , VALOR ) {if ($8 ~ /01|03/)
VALOR = -VALOR} {if ($13 ~ /03002/) {SOMA += VALOR}}END {printf "%10.2f
\n", SOMA}' teste.txt

explicando ... :-)

Crio a variável VALOR com a cadeia de caracteres do campo 16
{VALOR=$16}

Substituo o "." (PONTO) POR "," (VIRGULA) na variável VALOR
sub (/\./, "," , VALOR )

Se campo 8 conter 01 ou 03 torna a variável VALOR negativa
{if ($8 ~ /01|03/) VALOR = -VALOR}

Se campo 13 conter 03002 variável SOMA é igual VALOR + SOMA
{if ($13 ~ /03002/) {SOMA += VALOR}}

Ao final imprimir variável SOMA
END {printf "%10.2f \n", SOMA}

Aproveito para agradecer as respostas da galera pela lista e em pvt.

--
\|||||/
(o o)       *** Seja Livre e evite a pirataria use GNU/Linux ***
--( )-0ooo-------------------------------------------------------
| MARCELO GIOVANNI DIAS - WEBMASTER
| E-mail: address@hidden - Site : http://www.boletim.net
-----------------------------------------------------------------




reply via email to

[Prev in Thread] Current Thread [Next in Thread]