如何按大小对目录中的所有文件进行排序?

如何按大小对目录中的所有文件进行排序?

我如何才能按人类可读的大小从大到小排序显示 unix 目录中的文件?

我试过

du -h | sort -V -k 1 

但它似乎不起作用。

答案1

ls(1) /sort

-S     sort by file size

答案2

$ ls -lhS

-l     use a long listing format
-h     with -l, print sizes in human readable format (e.g., 1K 234M 2G)
-S     sort by file size

答案3

如果您有合适的sort版本,您可以简单地使用:

du -h | sort -rh

我的是

$ sort --version
sort (GNU coreutils) 8.12

答案4

ls -S对我来说,这不是操作系统上的选项。以下方法有效:
ls -l | sort -k 5nr
它们的“关键”是指定要排序的列(明白了,“关键”)。上面我指定了-k 5nr含义按第 5 列排序,其大小为 (5),按降序 (n) 计算数字 (n)

参考排序文档了解更多信息

相关内容