我怎样才能让这个 bash 代码删除小数位?

How can I make this bash code remove the decimal places?

free | grep Mem | awk '{print / * 100.0}'

我想从此输出中删除小数位。

free | grep Mem | awk '{print / * 100.0}' | cut -d. -f1

free | grep Mem | awk '{print int(/ * 100.0)}'

一些观察:

  1. 不需要使用 grep 因为 awk 可以处理
  2. 使用printf代替print来控制精度
free | awk '/Mem/ { percent =  /  * 100.0; printf "%0.0f\n", percent; }'

你可以在 awk 中转换为 int

free | awk '/^Mem/ { print int( * 100.0/) }'
12
  1. 使用 awk /pattern/ select 正确的行。
  2. 转换为整数以去除小数点。

代码:

free | awk '/Mem/ { print int(100 *  / ) }'