Сортировка папок по размеру не работает - RedHat Linux - PullRequest
0 голосов
/ 08 сентября 2011

Я использую du -h --max-deep = 2, чтобы получить список папок размером до 2 уровней вниз. Проблема в том, что я не могу отсортировать их по максимальному размеру папки.

Обычно этого можно достичь, используя du -k | sort -nr *, но я не могу использовать его здесь, поскольку он конфликтует (аргумент -s) с аргументом --max-deep = 2.

Может кто-нибудь подсказать, есть ли другой способ добиться этого. Мне нужно сохранить список в удобочитаемом формате.

478M  var
500K  usr/sdfijf/best
568K  user/dbuser
56M  etc/basic/linux
68K  var/redhat
9.0K  user/aunix

У меня есть следующие два столбца, и я ожидал отсортировать их по размеру читаемой человеком папки, причем самые большие папки были сверху (поэтому в основном по убыванию и в обратном порядке)

Спасибо, Morgan

Ответы [ 2 ]

1 голос
/ 08 сентября 2011

Используйте флаг -h для sort:

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

Итак du -h --max-depth=2 | sort -hr.

0 голосов
/ 08 сентября 2011

Один из способов может быть du -k --max-depth=2 | sort -nr |awk '{ print $2}'|xargs du -sh, но не уверен, что он эффективен

...