awkを使ってゼロ例外に分割する

awkを使ってゼロ例外に分割する

var1 = 6、var2 = 4変数に値を格納し、精度2で割って結果を変数に保存しようとしていますvar

var=`awk 'BEGIN {printf "%.2f\n", $var1/ $var2}'`

上記の作業を行うと awk: cmd. line:1: fatal: division by zero attempted

誰かが私がここで正確に見逃していることを指摘できますか?

ありがとうございます!

ベストアンサー1

-v var=valueawkに変数を渡すために使用されます。

だから

awk -v var1="$var1" -v var2="$var2" 'BEGIN {printf "%.2f\n",var1/var2}'

与える

1.50

そして

var=$(awk -v var1="$var1" -v var2="$var2" 'BEGIN {printf "%.2f\n",var1/var2}') 

値を設定します。

あなたはする必要があります

  • -v var1="$var1"bashの$ var1をawkのvar1に変換する
  • var1以下で使用awk(必須ではない$, $var1var1=6 が$6値である)
  • echo入力を提供するawk(そうでなければ、awkは入力を待って中断されます)(awkでBEGINを忘れます)

おすすめ記事