在 du 中显示人类可读的文件大小

Moh*_*sen 11 osx disk-usage

我正在使用此命令来确定哪个目录正在占用我的磁盘。

du -sk * | sort -n
Run Code Online (Sandbox Code Playgroud)

如何获得人类可读du的文件大小结果表?我已经检查过man,它所拥有的只是-k将字节结果转换为千字节结果的标志。我需要千兆字节的结果

小智 11

这可能有效:

du -hs * | sort -h
Run Code Online (Sandbox Code Playgroud)

如果您的副本du不支持该-h标志,那么您可以使用awk.

du -ks * | awk '
function human(x) {
    s="kMGTEPYZ";
    while (x>=1000 && length(s)>1)
        {x/=1024; s=substr(s,2)}
    return int(x+0.5) substr(s,1,1)
}
{gsub(/^[0-9]+/, human($1)); print}'
Run Code Online (Sandbox Code Playgroud)

  • 我的排序没有-h。我在 OSX 上 (2认同)