列出所有目录,按大小降序排列

时间:2018-07-20 13:03:48

标签: linux bash shell sh

我需要按大小降序对当前目录的所有目录进行排序。

我尝试关注

du -sh * | sort -rg

它按大小列出所有文件夹,但仅按值列出文件夹的大小。但是,它不是排序校正。在200KB之前,应列出100 MB Dir。

任何帮助都是有意义的。

3 个答案:

答案 0 :(得分:1)

我更喜欢直接比较字节。

du -b * | sort -nr

du -b报告字节。

sort -n按数字排序。显然,-r相反。

我的/ tmp清理前-

104857600       wbxtra_RESIDENT_07202018_075931.wbt
815372  wbxtra_RESIDENT_07192018_075744.wbt
215310  Slack Crashes
148028  wbxtra_RESIDENT_07182018_162525.wbt
144496  wbxtra_RESIDENT_07182018_163507.wbt
141688  wbxtra_RESIDENT_07182018_161957.wbt
56617   Notification Cache
20480   ~DFFA6E4895E749B423.TMP
16384   ~DF543949D7B4DF074A.TMP
13254   AdobeARM.log
3614    PhishMeOutlookReporterLoader.log
3448    msohtmlclip1/01
3448    msohtmlclip1
512     ~DF92FFF2C02995D884.TMP
28      ExchangePerflog_8484fa311d504d0fdcd6c672.dat
0       WPDNSE
0       VPMECTMP
0       VBE

答案 1 :(得分:-1)

-g用于浮点数。对于人类可读的输出,请使用人类可读的排序:

du -sh * | sort -rh

如果您有来自coreutils的numfmt实用程序,则可以使用具有numfmt格式的数字排序:

du -s * | sort -rn | numfmt --to=iec -d$'\t' --field=1

答案 2 :(得分:-1)

不要要求机器处理人类数据:

du -s * | sort -rg