鉴于字节的文件的大小,我想它mebibytes等格式化kibibytes,为 显著数字与尾随零,例如的1883954变得1.80M。
Given the size of a file in bytes, I want to format it in kibibytes, mebibytes etc. to 3 significant figures with trailing zeros, e.g. 1883954 becomes 1.80M.
浮点运算是不是在bash的支持,所以我AWK来代替。问题是我不如何保持尾随零。目前的解决方案:
Floating-point arithmetic isn't supported in bash, so I used awk instead. The problem is I don't how to keep the trailing zeros. Current solution:
if [ $size -ge 1048576 ] then size=$(awk 'BEGIN {printf "%.3g",'$size'/1048576}')M elif [ $size -ge 1024 ] then size=$(awk 'BEGIN {printf "%.3g",'$size'/1024}')K fi(该文件是没有那么大,所以我没有考虑更大的单位。)
(The files aren't that big so I don't have to consider bigger units.)
编辑:还有另外一个问题与此有关。请参见下面阿德里安Frühwirth的评论。
There's another problem with this. See Adrian Frühwirth's comment below.
推荐答案有没有使用任何理由
ls -lh命令?如果你是一个Linux系统已经在过去的几年里被释放,你有这个功能。
command ? If you are on a Linux system which has been released in the last few years, you have this functionality.
更多推荐
文件大小在人类可读的格式
发布评论