首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何按大小对du -h输出进行排序

如何按大小对du -h输出进行排序
EN

Server Fault用户
提问于 2009-02-25 13:42:42
回答 23查看 1.1M关注 0票数 1.4K

我需要一个人类可读的du输出列表。

但是,du没有“按大小排序”的选项,sort的管道不能使用人类可读的标志。

例如,运行:

代码语言:javascript
复制
du | sort -n -r 

输出按大小排序的磁盘使用情况(降序):

代码语言:javascript
复制
du |sort -n -r
65108   .
61508   ./dir3
2056    ./dir4
1032    ./dir1
508     ./dir2

但是,使用人类可读的标志运行它并不能正确排序:

代码语言:javascript
复制
du -h | sort -n -r

508K    ./dir2
64M     .
61M     ./dir3
2.1M    ./dir4
1.1M    ./dir1

有谁知道按大小对du -h排序的方法吗?

EN

回答 23

Server Fault用户

回答已采纳

发布于 2010-07-01 12:29:56

在2009年8月发布的GNU核心用途7.5中,sort允许一个-h参数,该参数允许du -h生成的那种数字后缀:

代码语言:javascript
复制
du -hs * | sort -h

如果使用的是不支持-h的排序,则可以安装GNU。例如,在较旧的Mac上:

代码语言:javascript
复制
brew install coreutils
du -hs * | gsort -h

来自sort 手册

-h, --human-numeric-sort compare human readable numbers (e.g., 2K 1G)

票数 2K
EN

Server Fault用户

发布于 2009-02-25 13:52:03

代码语言:javascript
复制
du | sort -nr | cut -f2- | xargs du -hs
票数 108
EN

Server Fault用户

发布于 2009-02-25 20:39:28

我使用了一个非常有用的工具,名为ncdu,用于查找那些令人讨厌的高磁盘使用率的文件夹和文件,并删除它们。它以控制台为基础,速度快,重量轻,并且在所有主要发行版上都有包。

票数 82
EN
页面原文内容由Server Fault提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://serverfault.com/questions/62411

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档