как найти файлы размером менее 5 МБ в / var / log / и отобразить их размер? [дубликат]

Мне нужно найти файлы размером менее 5 МБ в / var / log /, и вывод должен отображать размер каждого файла. какую команду мне следует использовать?

1
задан 23 May 2016 в 09:45

2 ответа

Эта команда найдет файлы в /var/log, которые являются меньше, чем 5M в размере , и печатают размер (в килобайтах) наряду с именем файла:

find /var/log -maxdepth 1 -size -5M -type f -printf '%5k %f\n'

Демонстрационный вывод мог бы быть похожим:

  112 syslog.6.gz
 1048 messages.1
  112 syslog.5.gz
  120 syslog.7.gz
 1216 syslog.1

то, Как это работает

  • -maxdepth 1, говорит, находят для не убывания в подкаталоги. (Если Вы хотите, чтобы подкаталоги были включены, опустили это)

  • -size -5M, говорит, находят для ограничения результатов для регистрации меньше, чем 5M в размере.

  • -type f говорит, находят, чтобы только искать регулярные файлы.

  • -printf '%5k %f\n' говорит, находят, чтобы выделить 5 мест к размеру и распечатать размер в килобайтах, сопровождаемых пространством, сопровождаемым именем файла.

2
ответ дан 23 May 2016 в 19:45

Это хорошо работает для меня:

find /var/log/ -name * -size -5M -ls | awk '{ print $11 " has a size of " $7 }'

Обновление 01 июня: В более новой Серверной версии Ubuntu эти -name * не доступно, но можно теперь использовать это:

find /var/log/ -type f -size -5M -ls | awk '{ print $11 " has a size of " $7 }'

, Если бы Вам нужна более человекочитаемая версия, этот был бы хорошей опцией

find /var/log/ -type f -size -5M -exec ls -lsh {} \; | awk '{ print $10 " has a size of " $1 }'
1
ответ дан 23 May 2016 в 19:45

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

Похожие вопросы: