我正在尝试按大小排序:
% tree -axCF --du --sort=size | grep -e '/$'
├── [ 8658884] 2022-10-09-backup/
├── [ 5923934] f24-01-22-backup/
├── [ 5384825] e2023-01-19-backup/
├── [ 3627525] h24-01-22-npanelize-nselect/
├── [ 2162140] b2022-12-18-backup/
├── [ 1255661] a2022-12-12-backup/
├── [ 996252] 2021-08-12-backup/
├── [ 647677] 2022-11-20-backup/
├── [ 133361] Test/
├── [ 95801] Boneyard/
├── [ 1024] g24-01-22-backup/ < Ooops
├── [ 16031] Misc/
├── [ 1024] Temp/ < Ooops
├── [ 449317] Znt/
│ ├── [ 158892] Boneyard/
│ └── [ 199717] VirginN-functions/
│ ├── [ 34739] backup.1/ < Nothing right in this dir
│ ├── [ 29896] Source/
│ ├── [ 35481] Text/
│ └── [ 98577] virgin/
...正如我们所见,情况还不错,但是存在一些异常情况。这有什么原因吗?我能做点什么吗?
顺便说一句,“grep”是因为,AFAICT,“tree”不会向您显示目录内容大小,即使您使用“--du”,除非您也显示所有文件(不能使用“-d”),并且由于我不想显示文件,所以我使用 grep 来过滤它们。这看起来很奇怪,但是确实如此。
答案1
tree
版本 1.7.0 和 1.8.0 在按大小排序时没有考虑--du
:目录按其自身大小排序,而不是按其内容的大小排序。这是2.0.0版本已修复。