2016-10-16 4 views
0

У меня есть директории и поддиректории, содержащие изображения (всего 525 изображений в 15 папках).Сортировка Дерево по размеру файла

Я использовал tree -Csh, чтобы перечислить их и получить;

enter image description here

То, что я пытаюсь сделать теперь сортировать их по размеру, потому что я пытаюсь быстро увидеть, какие файлы слишком малы (для веб-сайта с изображениями высокого разрешения). Как вы можете видеть, на этой картинке есть 774K jpg, который слишком мал, но отсортирован так, как это трудно выбрать (полный выход очень длинный). Является ли дерево лучшим способом для этого?

ответ

1

Использование GNU инструментов, из родительского каталога:

find . -type f -iname '*.jpg' -printf '%s %p\0' | sort -z -k1,1rn | xargs -0 -n1 
  • find . -type f -iname '*.jpg' -printf '%s %p\0' находит все .jpg файлы (независимо от регистра), и выводит размер файла в байтах, как первое поле и имя файла в качестве второго поля, с каждым запись, разделенная с помощью NUL, требуется обрабатывать имена файлов с символами новой строки в них

  • sort -z -k1,1rn сортирует записи, разделенные NUL, на основе первого поля, численно, наоборот, так что имена файлов с более высокими размерами будет отображаться в верхней

  • xargs -0 -n1 печатает имена файлов с размером нисходящем

+0

Спасибо за этот ответ. Он работает, как вы сказали. Как изменить размер файла, чтобы он отображался на более читаемом языке? Как в чем-то вроде 2.3Mb? Я понимаю, что это нужно делать после сортировки, потому что это испортило порядок! – leonormes

Смежные вопросы