Articles of bc

Suma los campos seleccionados

Tengo un file con un valor numérico en las posiciones de los caracteres 86 a 99. Quiero resumir todo el monto presente en el file, solo para las líneas que contienen RS en la position 124-125. Estoy tratando de hacer como amt=$(cat custbills.cmp| cut -c124-125|grep 'RS'|cut -c86-99|awk '{s+=$1 } END {print s }') y cuando […]

bash: -eq vs. == y `bc` tipo de salida

Este fragment de código ha sido tomado de un script más grande, (humildemente) simulando la function abs() no existente: [[ $(echo "$val < 0" | bc) -eq 1 ]] && val=$(echo "$val * -1" | bc) Entonces probamos el número si es negativo; si es así, se ejecutará la segunda statement después de && . […]

escala bc: ¿Cómo evitar el networkingondeo? (Calcular probabilidad binomial pequeña)

El código siguiente calcula la probabilidad binomial de un evento exitoso k de n ensayos: n=144 prob=$(echo "0.0139" | bc) echo -e "Enter no.:" read passedno k=$passedno nCk2() { num=1 den=1 for((i = 1; i <= $2; ++i)); do ((num *= $1 + 1 – i)) && ((den *= i)) done echo $((num / den)) […]

Resultado incorrecto al comparar flotadores

Estoy tratando de comparar dos carrozas en bash y algo va mal. Aquí está el ejemplo del código basado en la solución aquí num1=0.502E-01 num2=0.01 echo $num1'>'$num2 | bc -l echo $num2'>'$num1 | bc -l Espero la salida de 1 para el primer eco y 0 para el segundo eco, pero en cambio obtengo 0 […]

Barra invertida inesperada al convertir de número hexadecimal a número binary

Estoy tratando de convertir una línea hexadecimal a binaria en bash , pero el resultado incluye una barra diagonal inversa. ¿Alguien puede explicar por qué? Entrada: for i in 3D3D516343746D4D6D6C315669563362; do BIN=$(echo "ibase=16; obase=2; $i" | bc); echo $BIN; done Salida: 11110100111101010100010110001101000011011101000110110101001101011011\ 0101101100001100010101011001101001010101100011001101100010

usar la variable de bucle para calcular bash

for i in {0..9} do T=$(bc<<<"8+$i*0.5") echo $T done Yo obtengo : syntax error near unexpected token `T=$(bc<<<"8+$i*0.5")' Creo que el problema es el $i . ¿Qué estoy haciendo mal?

Verificando que un número decimal esté en un range en bc

He escrito esto si, obviamente, no funciona, y todavía no puedo superarlo: #LASTEFFECTIVEHASH if (( $(echo "$LASTEFFECTIVEHASHMINVAL < $LASTEFFECTIVEHASH < $LASTEFFECTIVEHASHMAXVAL" | $BC -l) )); then echo "$DATESTAMP – LASTEFFECTIVEHASH=$LASTEFFECTIVEHASH is between $LASTEFFECTIVEHASHMINVAL and $LASTEFFECTIVEHASHMAXVAL"|tee -a $LOGFILE else echo "$DATESTAMP – LASTEFFECTIVEHASH=$LASTEFFECTIVEHASH is not between $LASTEFFECTIVEHASHMINVAL and $LASTEFFECTIVEHASHMAXVAL"|tee -a $MSGFILE $LOGFILE fi Pero, cuando el […]

Evaluación una expresión y networkingondeo hasta tres decimales

Tengo una expresión "5+50*3/20 + (19*2)/7" Necesito networkingondearla hasta 3 decimales. La respuesta a esto es 17.92857142857143 . Cuando uso el script a continuación me da 17.928 . La respuesta debería ser 17.929 . read exp echo "scale=3; $exp" |bc -l Y una pregunta más es cómo usar printf para hacer la misma tarea

Shell Scripting: calcule el poder de un número con un número real como exponente

Estoy usando scripts de shell y estoy usando la siguiente expresión: A=`echo "(( (($a / $b) ^ 0.3) -1 ))" |bc -l` Quiero tener un número real como exponente. Noté que si coloco 0.3, se networkingondea a un número integer y toma la potencia de cero. De manera similar, si uso 5.5 o 5.9 en […]

bc se comporta de manera diferente en Solaris y Linux

Tengo el siguiente problema que no he resuelto desde hace mucho time. Tenemos un server Linux (x86_64 GNU / Linux) y un server Solaris (SunOS 5.10 i86pc Solaris) donde trabajo. En el server de Linux, el command bc -l me da una calculadora donde puedo trabajar fácilmente con los numbers y commands, junto con las […]