Инструмент командной строки для анализа дискового пространства на основе типов файлов

По сути, я ищу что-то вроде Windirstat, которое хорошо работает в командной строке и легко распространяется по сети.

Я пробовал sysinternals du (не могу исключить / включить типы файлов), diruse (ограниченный как du), cygwin du (слишком медленный). Я также перепробовал все графические инструменты, которые могу найти, и ни у одного из них нет интерфейса командной строки.

Любой скрытый драгоценный камень, которого я скучаю?

2 ответа

Я нашел Ксинорбис. Это кажется блестящим.

Если вы хотите / можете использовать инструменты Unix на своей машине с Windows (что, я думаю, так и есть, поскольку вы уже используете du), вы можете попробовать использовать findutils из cygwin в скрипте bash:

for filetype in doc xls jpg mov; do
  combined=0
  find /cygdrive/c -name "*.$filetype" -type f -print0 | xargs -0 du -k | \
    (while read; do
      current=$(echo $REPLY | awk '{print $1}'
      combined=$(( $combined + $current ))
    done)
    echo "$filetype files use $combined KiB on C:"
done

NB - это примерно то, что я бы сделал; это не проверено.

Конечно, это можно сделать более эффективно, если вы хотите сделать это для каждого типа файла в системе. Для отдельных типов, вероятно, не будет намного лучше с выделенными инструментами, так как это должно быть настолько ограничено IO.

Другие вопросы по тегам