grep変数でパーセンテージを見つける

grep変数でパーセンテージを見つける

計算されたCPU負荷をパーセントで表示したいと思います。

num2=$(uptime | grep "average:" | tr -d " " | cut -d ':' -f 5 | cut -d ',' -f 2)

percent=$((num2(*100)))
echo 'CPU percentage' $percent

私は何を逃したことがありませんか?

答え1

計算percentbc

percent=$(echo "scale=0;$num2*100" | bc)

端を切り取るために使用できる「41.00」などの数字が表示されます。

percent=${percent%.*}

答え2

あなたのnum2価値は次のとおりです0.41bash整数計算のみ実行でき、浮動小数点計算は実行できません。そのため、次のエラーメッセージが表示されます。

bash: 0.41 * 100 : syntax error: invalid arithmetic operator (error token is ".41 * 100 ")

文章を使用するときは、点を削除してみてくださいtr -d。これは100を掛けるのと同じです。

答え3

簡単なawkコマンドを考えてみましょう。

uptime | awk '/average/ {printf "CPU percentage %5.2f", $11*100}'

関連情報