70 votes

Comment diviser dans la console Linux ?

J'ai deux variables et je veux trouver la valeur de l'une divisée par l'autre. Quelles commandes dois-je utiliser pour ce faire ?

68voto

dave4420 Points 31298

Dans le shell bash, les expressions arithmétiques sont entourées de $(( ... ))

$ echo $(( 7 / 3 ))
2

Bien que je pense que vous êtes limité aux nombres entiers.

38voto

raytrace Points 61
echo 5/2 | bc -l

2.50000000000000000000

cette option '-l' dans 'bc' permet des résultats flottants

16voto

user1504475 Points 71

Une meilleure solution consiste à utiliser "bc", une calculatrice à précision arbitraire.

variable=$(echo "OPTIONS; OPERATIONS" | bc)

ex :

my_var=$(echo "scale=5; $temp_var/100 + $temp_var2" | bc)

où "scale=5" est la précision.

man bc 

est accompagné de plusieurs exemples d'utilisation.

11voto

libjack Points 2353

Je préfère encore utiliser dc qui est une calculatrice RPN, donc une session rapide pour diviser 67 par 18 avec une précision de 4 chiffres serait la suivante

>dc
4k
67
18/p
3.7222
q
>

Évidemment, beaucoup plus disponible : homme dc

8voto

Mark Rushakoff Points 97350

En bash, si vous n'avez pas besoin de décimales dans votre division, vous pouvez le faire :

>echo $((5+6))
11
>echo $((10/2))
5
>echo $((10/3))
3

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X