4

bc を使用して浮動小数点数を最も近い 10 分の 1 に丸める方法を教えてください。loadMin という変数があります

loadMin=$(uptime | cut -d" " -f14 | cut -c 1-4) 

これは、1 分あたりの負荷平均を小数点以下 2 桁で返します。つまり、0.01 0.02 0.09 です。数値を最も近い 10 分の 1 に丸める必要があります。たとえば、0.01 は 0.0 に丸められ、1.09 は 1.1 に丸められます。

どんな助けでも大歓迎です。

4

2 に答える 2

8

bcを使用する理由 printf喜んでそれを行います:

printf "%.1f" "$loadMin"

結果を変数に入れる必要がある場合:

printf -v variable "%.1f" "$loadMin"
于 2012-11-26T20:15:57.330 に答える
1

これを一度に行うことができますawk

loadMin=$(uptime | awk '{printf "%0.1f", $14}')

説明:

  • を使用する代わりに、代わりにcut使用awkしてこれらをより簡単にします
  • awkデフォルトでスペースとタブで区切り、各行をフィールドに区切ります。
  • '{printf "%0.1f", $14}': 14 番目のフィールドを浮動小数点数として出力し、最も近い小数点第 1 位に丸めます。
于 2012-11-26T20:15:48.017 に答える