3

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

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

但是我知道,du -h如果大小大于 1024,我无法保持 MB 为单位的大小,因为它会切换到 1G。但是du -m,值旁边没有显示 M(兆字节),因此对人类并不友好。

在此先感谢,

4

1 回答 1

7

这是-m选项。因此,例如:

$ du -s -m <my_directory_here>

更新

哦……你想在兆字节数之后打印一个“M”。给你:

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

或者...

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

或者...

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

等等

更新2

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

$ du -s -k * | awk '{printf "%.3f MiB %s\n", $1/1024, $2}'
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
于 2016-01-29T06:45:20.443 回答