linhas de comando e script relacionados a calculos.
Neste documento não tem dicas nem trata do uso de calculadoras em ambiente gráfico.
Tem muitas opções em interface gráfica, procure no seu gerenciador de pacotes por calc que deve listar varias opções.
No KDE tem uma excelente calculadora, faz parte do pacote:
kdeutils3 - KDE Utility Programs
depois de instalado, procure no menu ou pelo atalho ALT+F2 kcalc
Para instalar, procure pelo pacote bc.
Consulte a página do manual: man bc
Alguns exemplos de calculos em linha de comando e script.
Calculos em linha de comando, digite:
bc
depois digite a operação desejada e enter, exemplo:
bc 25+3+8 36
Pra encerrar e sair do "bc" digite quit
Ou simplesmente digite:
echo 25+3+8 | bc
36
Outros exemplos
echo 25+3-8 | bc echo 25/3+8 | bc echo 25*3-8 | bc
scale define as casas decimais, scale=2 para duas decimais, scale=4 pra 4 casas decimais e assim por diante, veja exemplo:
echo 'scale=2; 20/3' | bc 6.66 echo 'scale=4; 20/3' | bc 6.6666 echo "scale=4; 20/3" | bc 6.6666
Dica, quando recebe dados de outro comando, precisa incluir o sinal (+), awk, tr e outros inclue um sinal na ultima linha e provoca erro, até agora a solução que encontrei para contornar, adicionar um zero ou remover a ultima linha, exemplo com sed removemendo o sinal + da ultima linha (sed '$d')
Este tópico está com erros, quando pronto removo este aviso.
cat arquivo.txt SP lampadas 6.402 130.203 2.155,58 206,45 RS fluoresc 6.402 130.215 816,45 79.13 AC lampadas 6.102 129.452 4.421,85 0,00 RO luminari 6.102 129.854 1.092,15 0,00
Somar os valores da coluna 5
awk -F" " '{print $5}' arquivo.txt >calcular.txt
sed -i "s/\.//g" calcular.txt
sed -i "s/\,/\./g" calcular.txt
for i in `cat calcular.txt` do MSOMA=$MSOMA$(printf "$i+") #MSOMA=$(echo $MSOMA$i) #echo 'scale=2; $MSOMA' | bc done #echo 'scale=2; echo $MSOMA' | bc echo $MSOMA | sed 's|+$||g' echo "$MSOMA"0 | bc echo $MSOMA
sed -i '$d' calcular.txt
echo 0 >> calcular.txt
awk -F" " '{print $5}' arquivo.txt >calcular.txt
awk -F" " '{printf"%s+\n",$5}' arquivo.txt >calcular.txt
awk -F" " '{printf"%s+\n",$1}' calcular.txt |sed '$'|sed '$d'| bc
awk -F" " '{printf"%s+\n",$1}' calcular.txt |sed '$d'| bc
cat calcular.txt | tr
awk -F" " '{printf"%s %s %14s%14s\n",$1,$3,$5,$6}'
awk -F" " '{printf"%s+\n",$5}' arquivo.txt |sed '$d'| bc
for i in `cat arquivo.txt` do awk -F" " '{printf"%s %s %14s%14s\n",$1,$3,$5,$6}' /tmp/teste/arquivo.txt > /tmp/teste/arqnovo.txt SOMA=`expr $SOMA + $i` done
Raiz quadrada de 144
echo "sqrt(144)" | bc
12
Exemplos em script
#!/bin/bash raizcalc=$1 raizq=`echo "sqrt($raizcalc)" | bc` echo "A raiz quadrada de $raizcalc é $raizq" sh raizq 625 A raiz quadrada é 25
Crie um script como no exemplo acima, por exemplo com o nome de raizq, na linha de comando execute o script mais o numero que deseja obter a raiz quadrada, ex.:
sh raizq 625 ou ./raizq 625
Resultado: sh raizq 625 A raiz quadrada de 625 é 25 ou: #!/bin/bash raizq=`echo "sqrt($1)" | bc` echo "A raiz quadrada é $raizq" sh raizq 625 A raiz quadrada é 25
Exponenciação
echo "5^2" | bc 25 echo "5^4" | bc 625
expr faz parte do pacote coreutils,
manual do expr veja em: man expr
Calculos com expr
Uso de expr
expr 25 \+ 3 \+ 8
36