[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
- Somar campos, Guilherme A. de Oliveira Junior, 2003/08/11
- Re: [shell-script] Somar campos, Silvano Bolfoni Dias, 2003/08/11
- Re: [shell-script] Somar campos, Sulamita Garcia, 2003/08/11
- Re: [shell-script] Somar campos,
Felipe Kellermann <=
- Re: [shell-script] Somar campos, Aurelio Marinho Jargas, 2003/08/11
- Re: [shell-script] Somar campos, Felipe Kellermann, 2003/08/11
- Re: [shell-script] Somar campos, Aurelio Marinho Jargas, 2003/08/12
- Re: [shell-script] Somar campos, Felipe Kellermann, 2003/08/12
- Re: [shell-script] Somar campos, Aurelio Marinho Jargas, 2003/08/13
- RES: [shell-script] Somar campos (off-topic), Rodolfo Villanova, 2003/08/13
- Re: RES: [shell-script] Somar campos (off-topic), Aurelio Marinho Jargas, 2003/08/13
- Re: [shell-script] Somar campos, Felipe Kellermann, 2003/08/13
- Re: [shell-script] Somar campos, Felipe Kellermann, 2003/08/13