我试图以精确的字节为单位查找硬盘上文件的大小,但每当大小变得太大时,数字就会变得很奇怪(例如 1.98329e+12)。我可以阻止它这样做或将其转换为精确的字节吗?
命令是
ls -lR | grep -v '^d' | awk '{total += $5} END {print "Total:", total}'
- 停止显示确切字节之前的截止点似乎约为 500GB
du -sb
无论目录有多大,该命令都会正确显示确切的字节。- 我尝试过 Ubuntu Gnome 15.10 64 位(日语和英语)和 Linux Mint 17.3 Cinnamon 64 位(日语)
- 我的驱动器是 NTFS,所以我尝试将其中一个格式化为 ext4 并复制文件。结果与 NTFS 相同。
答案1
ls
这与 输出数字的方式无关,一切都与awk
.
的手册页awk
显示默认的数字输出格式是.6g
,这意味着将使用指数格式(您看到的)或小数以 6 位精度输出双长度浮点数。
您可以将其更改为显式输出格式,如下所示
echo 123456789012345 | awk '{printf "Total: %.6g\n", $1}'
Total: 1.23457e+14
echo 123456789012345 | awk '{printf "Total: %.0f\n", $1}'
Total: 123456789012345