以纯兆字节显示 DU 结果

Show DU outcome in purely megabytes

我正在使用 DU 函数将目录大小输出到文件,然后将其移动到 excel 文件以添加总数。是否可以仅以MB为单位输出目录大小(即使大小以KB或GB为单位):

例如如果文件大小为 50kb,输出将显示 0.048MB

我知道 du -h 但是如果大小大于 1024,我无法保持以 MB 为单位的大小,因为它切换到 1G。 然而,du -m 不会在值旁边显示 M(表示兆字节),因此不是真正的人性化。

提前致谢, J

这是-m选项。所以,例如:

$ du -s -m <my_directory_here>

更新

哦...您想要在兆字节数之后打印 "M"。你在这里:

$ du -s -m /usr/local | sed 's/^\([0-9]*\)\(.*\)$/M /'

或...

$ du -s -m /usr/local | sed 's/^\([0-9]*\)\(.*\)$/MiB /'

或...

$ du -s -m /usr/local | sed 's/^\([0-9]*\)\(.*\)$/ MegaBytes /'

等等

更新2

如果你想要分数,我会使用 du -k 来打印 KiB 然后:

$ du -s -k * | awk '{printf "%.3f MiB %s\n", /1024, }'
43.355 MiB bin
0.008 MiB etc
0.562 MiB include
5.836 MiB lib
0.008 MiB man
0.004 MiB mysql
2259.738 MiB mysql-5.5.27-osx10.6-x86_64
45.711 MiB share
340.641 MiB texlive