Как найти файлы в диапазоне размеров?

3

Пожалуйста, предложите мне способ найти все zipфайлы, размер которых больше или 60 MBменьше, 70 MBиспользуя findкоманду.

Ниль
источник
Добро пожаловать в Супер пользователя. Мы не сервис написания сценариев. Мы ожидаем, что пользователи сообщат нам, что они пробовали до сих пор (включая любые сценарии, которые они используют) и где они застряли, чтобы мы могли помочь с конкретными проблемами. Вопросы, которые задают только сценарии, являются слишком широкими и могут быть отложены или закрыты . Пожалуйста, прочитайте Как мне задать хороший вопрос? ,
ДэвидПостилл

Ответы:

4
find -iname "*.zip" -size +60M -size -70M

Вы также можете использовать, -oчтобы получить дизъюнкцию и \( … \)сгруппировать различные совпадения.

grawity
источник
1
find -iname "*.zip" -size +$((60*1024*1024))c -size -$((70*1024*1024))c

НЕ используйте abreviations 60Mи 70Mкак это будет также исключить все файлы размером более 69MB включая 69.001MB !!!

из раздела информационной документации 2.4 Размер

-- Test: -size n[bckwMG]
    True if the file uses N units of space, rounding up.
    ...

таким образом, 69.001 округляется до 70 и, следовательно, исключается !

Прекрасный пример, find . -size -1Mкоторый будет соответствовать только файлам нулевого размера .

user3338098
источник
Да, я сейчас испытываю эту причуду, когда пытаюсь добавить в видео мои файлы. Некоторые размеры просто не попадают ни в одно ведро.
Шридхар Сарнобат
-1

То же, что вы упомянули, но с -a. Это должно работать

find / -type f -size + 100M -a -size -200M -exec du -sh {} \;

Мани П
источник
1
На что следует обратить внимание: (1) я думаю, что ваш ответ не добавляет ничего нового, потому что -aэто оператор по умолчанию, другой ответ использует его неявно. Если ваш ответ объясняет это поведение вместе с другими частями findсинтаксиса, то он будет иметь некоторое значение. На мой взгляд, пока это просто излишне сложная (почему -exec du?) Общая (без zip-связанного фильтра) альтернатива. (2) Другой ответ - вики сообщества. Это как приглашение улучшить его вместо того, чтобы писать параллельный ответ; так что если вам действительно есть, что добавить, лучше всего отредактировать ответ вики сообщества.
Камиль Мачоровски