根据大小对所有目录进行排序

use*_*398 12 ksh disk-usage sort

我想根据大小对特定目录中的所有目录/文件进行排序(使用du -sh "name")。

我需要将此命令应用于我所在位置的所有目录,然后根据此结果对它们进行排序。我怎样才能做到这一点 ?

Chr*_*own 15

使用 GNU sort 和 GNU du(看起来你有,因为你声明你正在使用du's-h选项):

du -sh -- *  | sort -rh  # Files and directories, or
du -sh -- */ | sort -rh  # Directories only
Run Code Online (Sandbox Code Playgroud)

输出如下所示:

22G     foo/
21G     bar/
5.4G    baz/
2.1G    qux/
1021M   wibble/
4.0K    wobble/
Run Code Online (Sandbox Code Playgroud)


小智 5

按大小排序(以未格式化的千字节数)\nand\xc2\xa0然后将它们转换为人类可读的:

\n
du -sk -- * | sort -nr | cut -f2 | xargs du -sh\n
Run Code Online (Sandbox Code Playgroud)\n