我有一个需求,需要按照大小的降序排列当前目录下的所有目录。
我尝试过以下命令:
任何帮助都将不胜感激。
我尝试过以下命令:
du -sh * | sort -rg
,它会按照大小列出所有文件夹,但只是按值的大小排序,而没有正确地排序。100 MB的目录应该排在200 KB的目录之前。任何帮助都将不胜感激。
-g
是用于浮点数的。要获得可读性强的输出,请使用可读性强的排序:
du -sh * | sort -rh
du -B 1 -s * | sort -rn | numfmt --to=iec -d$'\t' --field=1
du -s * | sort -rn
? - KamilCukman do
,显示的值以--block-size、DU_BLOCK_SIZE、BLOCK_SIZE和BLOCKSIZE环境变量中第一个可用的SIZE单位为准。否则,默认单位为1024字节(如果设置了POSIXLY_CORRECT,则为512字节)。无论如何,很好地发现了-添加了-B 1。 - KamilCuk我更喜欢直接比较字节。
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
head -50
管道传递并进行评估。 - Paul Hodges不要让机器处理人类数据:
du -s * | sort -rg
sort
命令中,尝试使用-h
而不是-g
。 - Nick