変数が必要で、一方の値を他方で割った値を見つけたいです。これを行うにはどのコマンドを使用する必要がありますか?
Bashシェルで、算術式を$(( ... ))
で囲みます
$ echo $(( 7 / 3 ))
2
整数に制限されていると思いますが。
echo 5/2 | bc -l
2.50000000000000000000
'bc'のこの '-l'オプションは、浮動結果を許可します
より良い方法は、任意精度の計算機である「bc」を使用することです。
variable=$(echo "OPTIONS; OPERATIONS" | bc)
例:
my_var=$(echo "scale=5; $temp_var/100 + $temp_var2" | bc)
ここで、「scale = 5」は精度です。
man bc
いくつかの使用例が付属しています。
私はまだdcを使用することを好みます。これはRPN計算機であるため、4桁の精度で67を18で除算するクイックセッションは次のようになります。
>dc
4k
67
18/p
3.7222
q
>
明らかに、はるかに利用可能:man dc
Bashでは、部門に小数が必要ない場合、次のことができます。
>echo $((5+6))
11
>echo $((10/2))
5
>echo $((10/3))
3
LinuxコンソールはBashを意味すると思います。
X
とY
が変数の場合、$(($X / $Y))
は要求されたものを返します。
Bashを使用して$ aを$ bで除算する整数除算の例:
echo $((a/b))
レイトレースの答えを使用して他にできること。バックティックを使用して別のシェル呼び出しの標準出力を使用して、いくつかの計算を行うことができます。たとえば、いくつかのファイルの上位100行のファイルサイズを知りたいと思いました。 wc -c
の元のサイズはバイト単位です。キロバイトを知りたいです。私がやったことは次のとおりです。
echo `cat * | head -n 100 | wc -c` / 1024 | bc -l
あなたが使用しようとする必要があります:
echo "scale=4;$variablename/3"|bc
perl -eも使用できます
Perl -e 'print 67/8'