operações envolvendo | bc [RESOLVIDO]

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

André Livorati
livorati

(usa Ubuntu)

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


  


2. MELHOR RESPOSTA

Marcelo Oliver
msoliver

(usa Debian)

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]

André Livorati
livorati

(usa Ubuntu)

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

Valeu mesmo.

Funcionou aqui.

Obrigado!


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

Marcelo Oliver
msoliver

(usa Debian)

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

livorati escreveu:
Valeu mesmo.
Funcionou aqui.
Obrigado!


Por nada!!!!







Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts