排序文件夹大小不起作用-RedHat Linux

排序文件夹大小不起作用-RedHat Linux,linux,redhat,Linux,Redhat,我使用du-h--max depth=2来获取文件夹列表,按大小最多向下两级。问题是我无法按最大文件夹大小对它们进行排序 通常,这可以通过使用du-k | sort-nr*实现,但我不能在这里使用它,因为它与--max depth=2参数冲突(s参数) 有没有人可以建议是否有其他方法来实现这一点。不过我需要保持列表的可读性 478M var 500K usr/sdfijf/best 568K user/dbuser 56M etc/basic/linux 68K var/redhat

我使用du-h--max depth=2来获取文件夹列表,按大小最多向下两级。问题是我无法按最大文件夹大小对它们进行排序

通常,这可以通过使用du-k | sort-nr*实现,但我不能在这里使用它,因为它与--max depth=2参数冲突(s参数)

有没有人可以建议是否有其他方法来实现这一点。不过我需要保持列表的可读性

478M  var
500K  usr/sdfijf/best
568K  user/dbuser
56M  etc/basic/linux
68K  var/redhat
9.0K  user/aunix
我有以下两个专栏,希望能按照人类可读的文件夹大小对它们进行排序,最大的文件夹位于顶部(基本上是降序和逆序排列的)

谢谢,
Morgan

使用
-h
标志进行
排序

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

所以
du-h--max depth=2 | sort-hr

其中一种方法可能是
du-k--max depth=2 | sort-nr | awk'{print$2}'| xargs du-sh
但不确定它是否有效

没有Carlpett,当我这样做时,它给了我一个错误:“sort:invalid option--h,请尝试‘sort--help’以获取更多信息。”我认为问题是我们不能同时使用--max depth和其他参数,比如-h。不过还是要谢谢你的帮助@用户94072:否,错误是从
排序报告的,因此您的
排序
版本可能没有
-h
标志。您可以尝试用
--sort=human numeric
--human numeric sort
替换
-h
中的
-h
,看看这些是否是受支持的表达方式。另外,您可以发布
sort--version
的输出吗?嗨,Carl,its-sort(GNU coreutils)5.97版权(C)2006免费软件基金会,Inc.:用户:OK,人类可读格式已在7.5版本中(在2009年底发布)。如果由于某种原因无法升级,那么您将不得不求助于一些解决方法,例如anonGlad建议的帮助!但正如carlpett提到的,这是一个解决办法。卡尔佩特提供的解决方案肯定更好;此解决方法的速度要慢得多,因为它涉及重复的du操作