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

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

Re: [shell-script] Dúvida para usar d uas variáveis concatenadas em loop


From: Enilton Angelim
Subject: Re: [shell-script] Dúvida para usar d uas variáveis concatenadas em loop for
Date: Wed, 28 Jan 2015 15:30:47 -0300

# :D
# Array
numericalValorSum=(0 -3 2 4 -2 7)
# Funcao
:(){ var="$*"; echo $[${var// /+}] ;}; export -f :
# Get output
resultSum=$(: ${numericalValorSum[@]})
# print result
echo $resultSum


#! Enilton Angelim
## F13 Tecnologia


2015-01-28 14:33 GMT-03:00 Robson Alexandre address@hidden [shell-script] <address@hidden>:
 

Emmanuel,

considerando que vc tenha esses registros salvos num arquivo na disposição

VAR_XX=9999
VAR_XY=-9999

acho q a melhor saída seria usar awk. Dependendo da quantidade destes registros a execução é significantemente mais rápida.

awk -F= '{soma+=$2} END {print "SOMA: "soma}' /caminho/do/arquivo/registros

Ou utilizando esses mesmos registros numa variável pelo script maior que gera esses valores

awk -F= '{soma+=$2} END {print "SOMA: "soma}' <<< "$registros"


Atenciosamente
Robson Alexandre

Em 28 de janeiro de 2015 15:32, Robson Alexandre <address@hidden> escreveu:

significantemente Emmanuel,

considerando que vc tenha esses registros salvos num arquivo na disposição

VAR_XX=9999
VAR_XY=-9999

acho q a melhor saída seria usar awk. Dependendo da quantidade destes registros a execução é significantemente mais rápida.

awk -F= '{soma+=$2} END {print "SOMA: "soma}' /caminho/do/arquivo/registros

Ou utilizando esses mesmos registros numa variável pelo script maior que gera esses valores

awk -F= '{soma+=$2} END {print "SOMA: "soma}' <<< "$registros"


Atenciosamente
Robson Alexandre



Em 28 de janeiro de 2015 13:33, 'Julio C. Neves' address@hidden [shell-script] <address@hidden> escreveu:

 

Não precisa do printf, veja:
$ seq -w 10
01
02
03
04
05
06
07
08
09
10

Abcs,
Julio
@juliobash
P
róximos cursos de Shell
Cidade         Local Período
Rio de Janeiro EDX 09 a 13/03/15
São Paulo 4Linux 23 a 27/03/15
Dou treinamento de Shell em qualquer cidade.
Para mais detalhes, me mande um e-mail.


Em 28 de janeiro de 2015 12:00, address@hidden [shell-script] <address@hidden> escreveu:
 

Meu pitaco nesse assunto:


Assumindo que as variáveis são esse valores como exemplo:
$var_01=-1
$var_02=1
$var_03=3
$var_04=-1
$var_05=8

e precisando somar isso numa variável $contador num loop de 1 até 100:

for n in $(seq 1 100);
do
    num=$(printf "%02d" $n)
    eval saida=\$var_${num}
    [ "$saida" ] && contador=$((contador + saida))
done

echo $contador

1. O printf vai formatar o número com o zero apropriado
2 . Protegendo a variável interna "num" consigo com o eval definir a variável a ser pesquisada e jogar na variável interna "saida".
3. Se tiver valor associado faz a soma com o contador. Apenas somará se existir a variável nesse caso.

Atende seu caso? É só mais uma sugestão.

[]'s
Itamar






reply via email to

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