这是一个简单的例子:
echo "36974820" | awk '{print "("$1 " KB)" " (" $1/1024 " MB)" " (" $1/1024/1024 " GB)\n"}'
输出:
(36974820 KB) (36108.2 MB) (35.2619 GB)
我想要的如下:
(36974820 KB) (36108.2 MB) (35.26 GB)
我知道可以单独使用以下内容:
echo "5.5434" | awk '{printf "%.2f\n", $1}'
输出是:
5.54
我想将上面的内容与我的 awk 结合起来执行四舍五入到小数点后第二位的计算。
答案1
您可以printf
直接使用而不是print
in awk
(至少是 GNU awk):
user@host $ echo "36974820" | awk '{printf("(%d kB) (%.2f MB) (%.2f GB)\n", $1, $1/1024, $1/1024/1024)}'
(36974820 kB) (36108.22 MB) (35.26 GB)