ifを用いて10のマイナスn乗を含んだ数値の大小関係を判定したいのですがうまい方法がわかりません。ご教授いただけませんでしょうか。
NAME="Ubuntu"
VERSION="18.04.5 LTS (Bionic Beaver)"
発生している問題・エラーメッセージ
例えばbcを使うと、次の場合には返答が1となってほしいのですが
$ echo "0 <= E-120" | bc 0
ifでも
$ cat test.sh a=0 b=1E-120 if [ $a -le $b ]; then echo "1" else echo "0" fi $ bash test.sh test.sh: line 4: [: 1E-120: integer expression expected 0
となってしまいます。
大小判定ではないですがawkの中でifを用いて1E-120以下を抜き出すことはなぜかできます。なにが違うのでしょうか?
$ cat test 1 10 2 1E-100 3 1E-120 4 1E-121 5 0 $ awk -F "\t" '{ if($2 <= 1E-120){ print $0 }}' test 3 1E-120 4 1E-121 5 0
よろしくお願いします。
回答3件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2021/09/04 12:42