带有“sort=size”的树命令似乎不完美

带有“sort=size”的树命令似乎不完美

我正在尝试按大小排序:

% 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版本已修复

相关内容