solaris 中 awk 中小数点后的舍入 os

Roundup after decimal in awk in solaris os

我想要一个文件夹中文件的总大小,使用某些文件以名称开头,例如 sun solaris abc_1_* os 因为这里我不能使用 du -ch,目前我正在使用 find 命令我正在获得所需的输出,但我希望在小数点后向上舍入输出

当前代码:-

echo `find $DUMPDIR -name "${DUMPFILE}*" -exec ls -ltr {} \;  | awk ' {s+=} END {print s/1024/1024/1024}'`

输出:-

  1.768932

期望的输出:-

1.7G

请帮助我,我是 solaris 的新手

find $DUMPDIR -name "${DUMPFILE}*" -exec ls -lh {} \; | awk '{print }'

您可以使用 ls 的 GNU 扩展 -h 选项以人类可读的格式打印尺寸。注意:正如@Andrew Henle 所建议的,-h 不保证在 ls.

中得到支持

或者简单地使用,

ls -lh "$DUMPDIR/${DUMPFILE}*" | cut -d' ' -f 5

您可以使用

awk 中舍入一个浮点数
awk 'BEGIN {fl=1.768932; printf("%.1f G\n", fl)}'