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

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

Re: [shell-script] Somar campos


From: Felipe Kellermann
Subject: Re: [shell-script] Somar campos
Date: Mon, 11 Aug 2003 21:58:11 -0300 (BRT)

On Mon, 11 Aug 2003 5:48pm  -0300, Sulamita Garcia wrote:

> Poderia por num while:
>
> `comandos` | while read linhas; do
>       a=$((a+linhas))
> done
>
> Nao eh uma solucao muito bonita pq $(( )) não eh todo shell que tem e a
> tem que ser iniciado, mas dependendo do que vc quer... acho q rola...

        Trocando o `comandos', em minha opinião é a forma mais correta.
        A expansão aritmética "$(())" é a definida como padrão.
        É baseada no antigo "(())", ksh.
        A "$[]" também não existe, é a mesma coisa que "$(())".
        A variável `a' não precisa ser iniciada. Só cuida com recursão.

        Sugestão, compatível:
        for i in $(cat l); do a=$((a+i)); od # oops, done!
        Mesma coisa, shell, compatível:
        while read i; do a=$((a+i)); done < l
        A primeira sugestão, simplificada:
        for i in $(<l); do a=$((a+i)); done

-- 
Felipe Kellermann


reply via email to

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