Pular para o conteúdo

operações envolvendo | bc [RESOLVIDO]

Responder tópico
  • Denunciar
  • Indicar

1. operações envolvendo | bc [RESOLVIDO]

Enviado em 20/07/2016 - 07:57h

Olá a todos.

Faço pesquisa na área de dinâmica não linear, e que envolve muita simulação numérica.

Tenho vários scripts para quebrar meu jobs em vários pedaços e acelerar as simulações.

Estava usando normalmente esse pequeno trecho da linha de comando abaixo para definir novas variáveis

'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
for II in $(seq 000 100) # serao 100 jobs

do
a=0.001
b=0.0001
c=`echo $II*$b | bc`
d=`echo $a+$c | bc`

echo $d

'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''

Porém, não sei mais porque cargas d'agua, quando rodo o script agora, ele não aceita essa linguagem do | bc na hora de fazer os cálculos, que antes funcionava tranquilamente.

Diz que é um comando não encontrado?

Alguém sabe outra maneira de escrever isso, ou fazer essa multiplicação em shell script? ou mesmo se existe algum erro? falta algum espaço? as crases estão certas?

Pois parou de funcionar de uma outra para outra.

Agradeço a atenção

Responder tópico

2. Re: operações envolvendo | bc

Melhor resposta

Enviado em 20/07/2016 - 09:16h

livorati escreveu:
Olá a todos.
Faço pesquisa na área de dinâmica não linear, e que envolve muita simulação numérica.
Tenho vários scripts para quebrar meu jobs em vários pedaços e acelerar as simulações.
Estava usando normalmente esse pequeno trecho da linha de comando abaixo para definir novas variáveis
'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
for II in $(seq 000 100) # serao 100 jobs
do
a=0.001
b=0.0001
c=`echo $II*$b | bc`
d=`echo $a+$c | bc`

echo $d

'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
Porém, não sei mais porque cargas d'agua, quando rodo o script agora, ele não aceita essa linguagem do | bc na hora de fazer os cálculos, que antes funcionava tranquilamente.
Diz que é um comando não encontrado?
Alguém sabe outra maneira de escrever isso, ou fazer essa multiplicação em shell script? ou mesmo se existe algum erro? falta algum espaço? as crases estão certas?
Pois parou de funcionar de uma outra para outra.
Agradeço a atenção
__________________________________________
Bom dia livorati.
Segue, com "BC":

#!/bin/bash
for II in {000..100};do
a=0.001
b=0.0001
c=$(bc <<< "scale=4;$II*$b")
d=$(bc <<< "scale=4;$a+$c")
echo "$d"
done
Com "AWK":
#!/bin/bash
for II in {000..100};do
awk -F" " '{c=$1*$2;d=$3+c;print d}' <<< "$II 0.0001 0.001"
done

Com "AWK", em uma linha

awk -F" " 'BEGIN{a=0.001;b=0.0001;for(i=0;i<=100;i++) {c=b*i;d=a+c;print d}'}
É isso!!!

Se a resposta foi útil e resolveu sua duvida, COLOQUE RESOLVIDO e MARQUE como A MELHOR RESPOSTA....

Att.:
Marcelo Oliver

3. Re: operações envolvendo | bc [RESOLVIDO]

Enviado em 20/07/2016 - 10:59h

Valeu mesmo.

Funcionou aqui.

Obrigado!

4. Re: operações envolvendo | bc [RESOLVIDO]

Enviado em 20/07/2016 - 11:17h

livorati escreveu:
Valeu mesmo.
Funcionou aqui.
Obrigado!
Por nada!!!!

Responder tópico

Responder tópico

Entre na sua conta para responder.

Fazer login para responder